|
|
|
| Помогите, перерыл кучу информации, но без толку (третий день бьюсь).
Сайт динамичный (рукописный), не могу сделать ссылки вида чпу.
В каталоге нужно привести в порядок три вида ссылок:
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
(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 | |
|
|
|