我在将一些旧 URL 重定向到新 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]
但重定向不起作用。
有人可以帮忙或指导我如何修复这些重定向吗?
先感谢您!
答案1
这应该有效:
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
看起来还不错(希望)!:)