为什么在我重写条件正则表达式似乎没有赶上?在我、重写、条件、正则表达式

由网友(山河星辰皆与你)分享简介:我有类似以下网址:mysite.com/eng?sentence=dog和我想重写它们作为mysite.com/eng/dog所以我想替换?一句话= 用/我已经尝试了所有的以下内容:I have tried all of the following:RewriteCond %{THE_REQUEST} ^GE...

我有类似以下网址:

mysite.com/eng?sentence=dog

和我想重写它们作为

mysite.com/eng/dog

所以我想替换?一句话= 用/

我已经尝试了所有的以下内容:

I have tried all of the following:

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} ^GETs/+?sentence=([^/?&s]+) [NC]
RewriteRule ^ /%1 [NC,L,NE]

然后我试图访问的网址:

then I tried accessing the URL:

mysite.com/eng?sentence=cat

但它保持原样。我认为我的正则表达式的逻辑是不正确的,并重写cond是永远不会满足。我总是有麻烦的正则表达式。

but it stays as it is. I assume my regex logic is not correct and the rewrite cond is never satisfied. I always have trouble with regex.

推荐答案

您可以使用此规则:

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 /

阅读全文

相关推荐

最新文章