htaccess - 重写以检查斜杠

时间:2013-01-18 20:54:17

标签: .htaccess mod-rewrite url-rewriting

我的网站上有一个重写符号:

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

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

效果非常好。

然而,我想要实现的是,如果网址如下:

http://site.com/first/second

然后我想重定向到

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

问题是我希望同时拥有它们,以便site.com/foo和site.com/foo/bar一样有效。我也希望避免在那里同时使用两个规则的尾随斜杠。

如果有办法检查带有某种重写的尾部斜杠

感谢任何帮助:)

解决

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} !^/(.*)/(.*)$

0 个答案:

没有答案