我有以下网址:
mysite.com/eng?sentence=dog
我希望将它们重写为
mysite.com/eng/dog
所以我想用" /"
替换?sentence=
我尝试了以下所有方法:
RewriteCond %{THE_REQUEST} ^GET\ sentence= [NC]
RewriteRule ^ /%1 [NC,L,NE]
RewriteCond %{THE_REQUEST} ^GET\ \?sentence= [NC]
RewriteRule ^ /%1 [NC,L,NE]
RewriteCond %{THE_REQUEST} ^GET\ \?sentence=([^/?&\s]+) [NC]
RewriteRule ^ /%1 [NC,L,NE]
RewriteCond %{THE_REQUEST} ^GET\s/+\?sentence=([^/?&\s]+) [NC]
RewriteRule ^ /%1 [NC,L,NE]
然后我尝试访问网址:
mysite.com/eng?sentence=cat
但它保持不变。我假设我的正则表达式逻辑不正确,并且永远不会满足重写cond。我总是遇到正则表达式的麻烦。
答案 0 :(得分:0)
您可以使用此规则:
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+(eng)\?sentence=([^\s&]+) [NC]
RewriteRule ^ /%1/%2/? [L,R]
这会将http://mysite.com/eng?sentence=dog
重定向到http://mysite.com/eng/dog/