У меня проблемы с перенаправлением некоторых старых URL-адресов на новые.
Это старый путь:
/index.php?loadpage=./includes/search.php&searchstring=KEYWORD
и я хочу, чтобы он перенаправлялся на этот URL:
/search/node/KEYWORD
* где «KEYWORD» - строка поиска переменной.
Это то, что я пробовал до сих пор:
RewriteRule ^/?search/node/([^/d]+)/?$ index.php?loadpage=./includes/search.php&searchstring=$1 [L,QSA]
и это:
RewriteRule ^/?search/node/([^/d]+)/?$ index.php?searchstring=$1 [L,QSA]
но перенаправления не работают.
Может ли кто-нибудь помочь или дать мне несколько советов о том, как исправить эти перенаправления?
Заранее спасибо!
Это должно работать:
RewriteCond %{QUERY_STRING} &searchstring=([^&]+) [NC]
RewriteRule ^index\.php$ /search/node/%1? [R=301,L]
По сути, сначала поиск searchstring
параметр в строке запроса.
В searching
значение параметра помещается в переменную с именем %1
Затем замените index.php
с участием /search/node/%1
Например:
Из этого :
http://domain.com/index.php?loadpage=./includes/search.php&searchstring=KEYWORD
Меня перенаправляют на это:
http://domain.com/search/node/KEYWORD
Из этого :
http://domain.com/index.php?loadpage=./includes/search.php&searchstring=SERVERFAULT
Меня перенаправляют на это:
http://domain.com/search/node/SERVERFAULT
Вроде нормально (надеюсь)! :)