2

我的网站上有这样的重写:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ open.php?url=$1 [L]

(上面有很多,但这是最后一条规则)

它工作得很好。

但是,我想要实现的是,如果 url 如下所示:

http://site.com/first/second

然后我想重定向到

open.php?url=$1&open=$2

问题是我想同时拥有它们,以便 site.com/foo 和 site.com/foo/bar 一样好用。我还想避免一直有一个斜线,因此同时遵守两条规则。

如果有办法用某种 rewritecond 检查尾部斜杠

任何帮助表示赞赏:)

解决了

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/(.*)/(.*)$
RewriteRule ^(.*)$ open.php?url=$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} /(.*)/(.*)
RewriteRule ^(.*)/(.*)$ open.php?url=$1&open=$2 [L]

我必须添加的只是RewriteCond %{REQUEST_URI} !^/(.*)/(.*)$第一条规则!

4

0 回答 0