我有一些麻烦redirect到一些旧的url。
这是老路:
/index.php?loadpage=./includes/search.php&searchstring=KEYWORD
我希望它redirect到这个URL:
/search/node/KEYWORD
*其中“KEYWORD”是一个variablessearchstring。
这是我迄今为止所尝试的:
RewriteRule ^/?search/node/([^/d]+)/?$ index.php?loadpage=./includes/search.php&searchstring=$1 [L,QSA]
和这个:
RewriteRule ^/?search/node/([^/d]+)/?$ index.php?searchstring=$1 [L,QSA]
但redirect不起作用。
任何人都可以请帮助或给我一些指导如何解决这些redirect?
先谢谢你!
这应该工作:
RewriteCond %{QUERY_STRING} &searchstring=([^&]+) [NC] RewriteRule ^index\.php$ /search/node/%1? [R=301,L]
基本上,首先search查询string中的searchstring参数。
searching参数值被放入名为%1的variables中
然后用/search/node/%1replaceindex.php
例如:
由此 :
http://domain.com/index.php?loadpage=./includes/search.php&searchstring=KEYWORD
我被redirect到这个:
http://domain.com/search/node/KEYWORD
由此 :
http://domain.com/index.php?loadpage=./includes/search.php&searchstring=SERVERFAULT
我被redirect到这个:
http://domain.com/search/node/SERVERFAULT
看起来好(希望)! 🙂