Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Редирект динамической страницы на преобразованную htaccess файлом [2]
Форумы портала PHP.SU » » Вопросы новичков » Редирект динамической страницы на преобразованную htaccess файлом

Страниц (2): « 1 [2]
 

16. zapatronen - 14 Августа, 2017 - 19:01:41 - перейти к сообщению
Готово! Чтобы прервать цикл нужно вначале кода поставить условие
CODE (htmlphp):
скопировать код в буфер обмена
  1. RewriteCond %{ENV:REDIRECT_STATUS} ^$

которая пустая только при первом проходе по списку правил.

А без нее получалось, что последний RewriteRule меняет запрос на /product.php?article=$1&name=$2 и при повторном проходе срабатывает редирект на /%1/%2.html.
Рабочий вид кода будет следующий:

CODE (htmlphp):
скопировать код в буфер обмена
  1. RewriteCond %{ENV:REDIRECT_STATUS} ^$
  2. RewriteCond %{QUERY_STRING} ^article=([^&]*)&name=([^&]*)
  3. RewriteRule ^product\.php$ /%1/%2.html? [R=301,L]
  4. RewriteRule ^([^/]*)/([^/]*)\.html$ /product.php?article=$1&name=$2  [L]

 

Powered by ExBB FM 1.0 RC1