Помощник
|
ЧПУ или свои URL для каждой страницы |
DrDRED
|
Сообщение
#1
|
||
|
|
||
|
|||
Alcorn |
28.5.2013, 9:53;
Ответить: Alcorn
Сообщение
#2
|
|
Сделать соответствие id и url?
|
|
|
DrDRED
|
Сообщение
#3
|
|
У меня есть такие ссылки
<a href="index.php?id=1">ссылка</a> мне необходимо чтобы когда мы перейдем по этой ссылке, в браузере, в адресной строке отображалось http://сайт.ru/about т.е. для каждой сгенерированной ссылки, можно было прописать свой url |
|
|
Wins |
28.5.2013, 10:15;
Ответить: Wins
Сообщение
#4
|
|
Во втором посте этой темы http://www.html.by/threads/30335-Kak-vydel...nkt-menju/page3
есть преобразование в чпу ссылки,только там еще помимо php используется само собой .htaccess |
|
|
DrDRED
|
Сообщение
#5
|
|
Короче очень много гуглил, нашел вот эту полезную ссылочкуhttp://www.softmaker.kz/articles/php/nastr...chelovekom.html
там описано практически то что мне надо, но все равно вопрос остался. можно ли для каждой ссылки прописать отдельное правило, чтобы например index.php?id=1 ==> в браузере отображался как сайт.ru/about, а index.php? id=2 ==> в браузере отображался как сайт.ru/contacts |
|
|
Alcorn |
28.5.2013, 10:47;
Ответить: Alcorn
Сообщение
#6
|
|
Я так делал: в бд таблица карты сайта (страницы есть реально на диске) и каталога - виртуальные страницы - id, pid, url, и т.д. (древовидная структура, {1, 0, about}, {2, 1, contacts} и ещё 13 тысяч категорий различной вложенности). При старте приложения рекурсией строил дерево и сохранял в массив, по типу $sitemap["/about/"] = array("id" => 1, "хлебные крошки" => "<a href='/'>Главная</a> > <a href='/О компании'>", "title" => "Главная / О компании"), $sitemap["/about/contacts/"] = array() и так далее, всё это дело в кэш пока сервер не перезагрузится или вручную категории из админки не поменяются. При клиентском запросе по url (ключу данного массива) вытаскивал id раздела (ваш случай), путь по сайту и всё остальное. Всё это делалось не на php, но подход примерно такой.
|
|
|
DrDRED
|
Сообщение
#7
|
|
так ладно, опустим предыдущий вопрос. Думаю надо сделать проще:
есть ссылки <a href="index.php?page=$id">ссылка</a>, что надо прописать в .htaccess, чтобы в браузере выводилась такая ссылка ==> сайт.ру/content/page/1, вот как то так |
|
|
Wins |
31.5.2013, 9:49;
Ответить: Wins
Сообщение
#8
|
|
|
DrDRED
Ну вот пример: .htaccess RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^[^/]+\.html$ index.php [L] [PHP] $requestUri = $_SERVER['REQUEST_URI']; $requestUri = preg_replace('/\?.+/', '', $requestUri); $requestUri = preg_replace('#^/?#', '', $requestUri); $parts = explode('/', $requestUri); $categoryPart = $parts[0]; $articlePart = isset($parts[1]) ? $parts[1] : null; $categoryId = 0; $articleId = 0; $categoryPart = mysql_real_escape_string(preg_replace('#\.html$#i', '', $categoryPart) . '.html'); $sql = "SELECT id FROM table_name_категории WHERE url = '{$categoryPart}'"; $categoryIdQuery = mysql_query($sql); if (mysql_num_rows($categoryIdQuery) > 0) { $categoryId = (int)mysql_result($categoryIdQuery, 0, 0); }//Узнаем id категории// if ($articlePart) { $articlePart = mysql_real_escape_string(preg_replace('#\.html$#i', '', $articlePart) . '.html'); $sql = "SELECT id FROM table_name_статьи WHERE url = '{$articlePart}'"; $articleIdQuery = mysql_query($sql); if (mysql_num_rows($articleIdQuery) > 0) { $articleId = (int)mysql_result($articleIdQuery, 0, 0); } }//Узнаем id статьи// if ($categoryId) { $cat = $categoryId; } [/PHP] Теперь там где нужно вывести ссылку [PHP]$result = mysql_query ("SELECT id,url FROM table_name_статьи WHERE id='1' ",$db); //вообще тут стоят переменны,но для наглядности поставил просто id='1'// while ( $myrow = mysql_fetch_array( $result ) ){ $articleCategoryId = (int) $myrow['id_cat']; $sql = "SELECT url,id,id_cat FROM table_name_категории WHERE id = {$articleCategoryId}"; $categoryQuery = mysql_query($sql); $category = mysql_fetch_assoc($categoryQuery); $categoryUrl = preg_replace('#\.html$#', '', $category['url']); echo'<a href="/'.$categoryUrl.'/'.$myrow['url'].'">'[/PHP] В $categoryUrl ссылка из бд из таблицы где хранятся категории В $myrow['url'] ссылка из таблицы где хранятся статьи Все это с учетом того что есть две таблицы,в одной категории,в другой статьи По переменным сравнивается id_cat из таблицы статьи с id из таблицы категории.Но это не суть важно. Просто вам осталось подстроить это все под себя.
|
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Партнерская программа для Эзотерики, Магии, Таро партнерка для эзотерики |
0 | LiveExpert | 363 | Вчера, 15:13 автор: LiveExpert |
|
Партнерская программа для Эзотерики, Магии, Таро партнерка для эзотерики |
0 | LiveExpert | 336 | Вчера, 15:13 автор: LiveExpert |
|
Azinomoney.com - гемблинг-партнерка с 65%RS для каждого Гарантированный заработок на гемблинг-трафике |
65 | AzinoMoney | 29197 | 27.3.2024, 19:10 автор: AzinoMoney |
|
Делаю полностью уникальный дизайн для сайтов! | 46 | AlexDIZ | 93503 | 26.3.2024, 20:03 автор: AlexDIZ |
|
Большие ставки для кликов в Я.Директ. Как удешевить? | 2 | rownong27 | 1122 | 26.3.2024, 14:13 автор: knezevolk |
Текстовая версия | Сейчас: 29.3.2024, 8:36 |