0

我有如下网址:

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]

然后我尝试访问 URL:

mysite.com/eng?sentence=cat

但它保持原样。我假设我的正则表达式逻辑不正确,并且永远不会满足重写条件。我总是遇到正则表达式的问题。

4

1 回答 1

0

您可以使用此规则:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+(eng)\?sentence=([^\s&]+) [NC]
RewriteRule ^ /%1/%2/? [L,R]

这将重定向http://mysite.com/eng?sentence=doghttp://mysite.com/eng/dog/

于 2013-10-11T12:30:25.300 回答