У меня есть набор правил перезаписи, которые должны обрабатывать URL-адрес, который имеет от 1 до 5 параметров. Поэтому мой URL-адрес может выглядеть так: www.site.com/topic1/page1 или www.site.com/topic1/sub1/page1.Проблема с правилом перезаписи URL-адресов htaccess, строка запроса добавляется к результирующему URL-адресу
Вот мои правила в этом примере:
RewriteRule ^([^/.]+)/?$ /staticpages/process-selection.php?param1=$1 [E=rwdone:yes,L]
RewriteRule ^([^/.]+)/([^/.]+)/?$ /staticpages/process-selection.php?param1=$1¶m2=$2 [E=rwdone:yes,L]
RewriteRule ^([^/.]+)/([^/.]+)/([^/]+)/?$ /staticpages/process-selection.php?param1=$1¶m2=$2¶m3=$3 [E=rwdone:yes,L]
RewriteRule ^([^/.]+)/([^/.]+)/([^/]+)/([^/]+)/?$ /staticpages/process-selection.php?param1=$1¶m2=$2¶m3=$3¶m4=$4 [E=rwdone:yes,L]
RewriteRule ^([^/.]+)/([^/.]+)/([^/]+)/([^/]+)/([^/]+)/?$ /staticpages/process-selection.php?param1=$1¶m2=$2¶m3=$3¶m4=$4¶m5=$5 [E=rwdone:yes,L]
Усложняет дело, я мог бы редирект 301 от старого URL к одному из этих новых URL-адресов. Таким образом, «/ topic1/page1/oldpage» сначала может быть перенаправлен на «/ topic1/page1/newpage».
По какой-то причине, когда происходит переписывание, то URL, который отображается в браузере есть правильный URL, но со старыми переменными, приложенных к URL, как это: /topic1/стр.1/NewPage param1 = стр.1 & param2 = oldpage
Мне интересно, есть ли способ избежать этой ситуации. что, черт возьми, я делаю неправильно здесь.
Большое спасибо за ваш ввод. Я смог решить проблему, изменив код перенаправления 301 на RewriteRule^url [R = 301, L]. Наконец, не видя странных параметров, добавленных в мои URL-адреса браузера. – Waylien