Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Apache

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Ссылки ЧПУ и ошибка 404
 
 автор: krok-m   (07.11.2016 в 04:54)   письмо автору
 
 

Помогите, перерыл кучу информации, но без толку (третий день бьюсь).
Сайт динамичный (рукописный), не могу сделать ссылки вида чпу.
В каталоге нужно привести в порядок три вида ссылок:
1. .../doska/?adv_id=9570 на .../doska/9570/
2. .../doska/?cat_id=628&os=30 на .../doska/cat/628/30/
3. .../doska/?act=s_add на .../doska/add/
------------
Сделал .htaccess
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{QUERY_STRING} ^adv_id=([0-9]+)$
RewriteRule ^$ /doska/%1? [R=301,L]
RewriteRule ^([^/]*)/$ /doska?adv_id=$1 [L]
</IfModule>

Ссылки отображаются правильно (визуально), но при переходе отображается ошибка 404.
------------
Вопрос: Как устранить ошибку чтобы старая ссылка работала под новым именем?
И второй вопрос - как заставить правильно работать все три варианта ссылок?
Если можно - "разжевать для тупых" :) Заранее благодарю Всех за советы.

  Ответить  
 
 автор: krok-m   (27.10.2017 в 08:43)   письмо автору
 
   для: krok-m   (07.11.2016 в 04:54)
 

Разобрался сам:
<IfModule mod_rewrite.c>
RewriteEngine On
Options +SymLinksIfOwnerMatch
RewriteCond %{QUERY_STRING} ^adv_id=([0-9]+)$
RewriteRule ^$ /doska/%1.html? [R=301,L]
RewriteRule ^([^/]*)/$ /doska/?adv_id=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /doska/?adv_id=$1 [L,QSA]
</IfModule>

Но только для 1-го варианта: /doska/9570.html
---------
Подскажите как сделать ЧПУ для других:
/doska/?cat_id=148&os=0
и
/doska/?act=s_add

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования