我的网站上有这样的重写:
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} !^/(.*)/(.*)$
第一条规则!