我想你的意思是redirect
?
从
www.example.com/index.php?page=search&q=string1&type=string2
要
www.example.com/search?q=string1&type=string2
这将适用于这种情况下
RewriteEngine on
# Stop any redirect loop
RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule^- [L]
# if it does not starts with /search
RewriteCond %{REQUEST_URI} !^/search
# if the query string start with
# page=search, then get the rest
# of the query string
RewriteCond %{QUERY_STRING} ^page=search&(.*)
# redirect from:
# ?page=search&q=string1&type=string2
#
# to
# search?q=string1&type=string2
RewriteRule ^(.*)$ /search?%1 [R=302,L] # change to 301
# if the uri starts with search then
# process the url and query string previously redirected
# the flag: QSA
# appends the query string
RewriteRule ^search/?$ index.php?page=search [QSA,NC,L]
,并更改R=302
到R=301
编辑以匹配新requeriments
RewriteEngine on
RewriteBase /your/folder/here
RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule^- [L]
RewriteCond %{REQUEST_URI} !^/search
RewriteCond %{QUERY_STRING} ^page=search[&(.*)]?
RewriteRule ^(.*)$ /search?%1 [R=302,L]
RewriteRule ^search/?$ index.php?page=search [QSA,NC,L]
我知道了。非常感谢。 – 2014-08-29 08:52:29
你的答案有一个小的更正。它应该是 RewriteRule^search /?$ index.php?page = search [QSA,NC,L] – 2014-08-29 11:44:01
好的,现在已经被修正了。 – anubhava 2014-08-29 13:56:48