Назад | Перейти на главную страницу

htaccess перенаправление результатов поиска

У меня проблемы с перенаправлением некоторых старых 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

Вроде нормально (надеюсь)! :)