![]() |
ЧПУ
Темки такой не нашел, решил создать (кроме прикрепленной).
Но мне похоже mod_rewrite не подходит Есть такие ссылки: index.php?production=mixer&id=12 index.php?production=mixer&id=3 index.php?production=mixer&id=20 index.php?production=vinil&id=30 index.php?production=vinil&id=14 Нужно переделать в что то типа www.сайт.com/mixer/Behringer-DDM-4000.htm К примеру index.php?production=mixer&id=12 Это продукция, котороя имеет свое название в поле `title` - `Behringer DDM 4000` В таблице `de_mixer` Для первого шага, я нашел в Инете подсказку - несуществующие ссылки через .htaccess перенаправлять на какой то скрипт. Я написал так: ErrorDocument 404 /index.php?djone=ufu ErrorDocument 401 /index.php?djone=ufu Но толку нету. Все равно ссылки куда то убегают http://djone.com.ua/asadasd Как то на хостинге прошит свой метод перенаправления ненайденых страниц, как это обойти? И вообще по сути сложившихся у меня задач по ЧПУ можете сказать? Буду благодарен. |
ЧПУ - числовое программное управление? Такие станки есть...
Смотря какие параметры скрипту нужны (по каким искать будет). Если ищется по id, то в урле по-любому где-нибудь это число должно быть (произвольно), чтобы его вытащить... а текст можно впоследствии сравнивать с базой, и выдавать 404 или 200... сначала сформируйте сам урл, а потом уже правило mod_rewrite... |
Скрипт, который выводит на экран информацию в обычном случае?
Если да, то ... index.php?production=mixer&id=12 В index.php определяет на наличие mixer else if (isset($_GET['mixer'])){include('modules/good_mixer.php');} id - идентификационный номер товара Получается приблизительно так $sql=mysql_query("SELECT `content` FROM `de_dj_mixer` WHERE id='$_GET[id]'"); Или какую мне информацию предоставить для ясности? |
Цитата:
если типа сайт.com/mixer/12/Behringer-DDM-4000.htm тогда правило будет типа Код:
RewriteRule ^/([a-z0-9A-Z]+)/([0-9]+)/.+\.htm$ /index.php?production=$1&id=$2 [L] |
Так работает http://djone.com.ua/index.php?production=mixer&id=12
Так не работает http://djone.com.ua/mixer/12/Behringer-DDM-4000.htm Код:
DirectoryIndex index.php |
Artem-Samsung, зачем RewriteBase? Кроме того если это в корневом htaccess, то передний слеш не нужен...
Код:
DirectoryIndex index.php |
К сожаление ошибка 404 :(
Хостинг один из лучших, мод этот стоять полюбому должен. Сейчас у них еще узнаю. http://djone.com.ua/mixer/12/Behringer-DDM-4000.htm никак не http://djone.com.ua/index.php?production=mixer&id=12 |
проще самому проверить что просит, и работает ли правило..
сделайте скрипт test.php PHP код:
поместить его после всех правил в списке Код:
RewriteCond %{REQUEST_FILENAME} !-f |
http://djone.com.ua/mixer/12/Behringer-DDM-4000.htm
Код:
Реврайт просит файл ...djone.com.ua/mixer Похоже не сильно то работает ( |
сори, ошибочка закралась в символьном классе [a-z0-9A-Z\-\_] - символ _ не должен быть последним в наборе...
Код:
RewriteRule ^([a-zA-Z0-9]+)\/([0-9]+)\/[a-zA-Z0-9\_\-]+\.htm$ index.php?production=$1&id=$2 [L] и все ваши данные удалите из постов (пути, ссылки...) - могут вызвать нездоровый интерес... |
Ухты =))) Спасибо. Прогресс есть :)
Вот только Со стилями неочень. http://djone.com.ua/mixer/12/Behringer-DDM-4000.htm Пути к картинкам прописываются на подобии: http://djone.com.ua/mixer/12/banner.gif Хотя должно быть http://djone.com.ua/banner.gif Не подскажите? |
у вас на страничке пути относительные, нужны абсолютные, с передним слешем /js/file.js либо псевдо-урл без слешей нужен...
|
если урл нпр будет http://djone.com.ua/mixer~12~Behringer-DDM-4000.htm
то правило Код:
RewriteRule ^([a-zA-Z0-9]+)\~([0-9]+)\~[a-zA-Z0-9\_\-]+\.htm$ index.php?production=$1&id=$2 [L] |
Sham,
Нужно грамотно составить правило для index.php?production=mixer index.php?production=bag index.php?production=cddvd index.php?production=monitor Самому не получается :( Пробел в регулярных выражениях, будет время - разберусь. Если Вас не затруднит? Могли бы подсказать, как лучше оформить? |
Artem-Samsung, тот же урл, но без id?
|
понятно, а вот в этом участке ^([a-zA-Z0-9]+)\~([0-9]+)\~[a-zA-Z0-9\_\-]+\.htm$ что то править?
|
чего понятно, это вопрос был (это тот же урл но без ид?)... и псевдо-урл какой будет..
|
Цитата:
Да, без айди, но это уже другой тип страниц будет. index.php?production=monitor - это главная страница типа продукции Можно так? poduction/monitor.htm index.php?production=monitor&id=20 - это полное содержания еденицы товара Еще будет место таким ссылкам, как index.php?monitor=Adam - где список товаров только с маркой Adam Предположительно: /monitor/adam.htm но это сам по аналогии index.php?production=monitor думал сделать. проблемм не будет? P.S. горизонтальное меню : ?djone=5 Новости: index.php?news=38 Меня волнует пока вот это index.php?production=monitor, другие постараюсь по аналогии сделать |
Цитата:
Код:
RewriteRule ^production\/([a-zA-Z0-9\_\-]+)\.htm$ index.php?production=$1 [L] Цитата:
Код:
RewriteRule ^([a-zA-Z0-9]+)\/([a-zA-Z0-9\_\-]+)\.htm$ index.php?$1=$2 [L] |
Время: 09:50. |
Время: 09:50.
© OSzone.net 2001-