0

我在网站上有一堆 htaccess 规则设置。

RewriteEngine On
RewriteBase /
RewriteRule ^google73947f9bfca52abe.html$    google73947f9bfca52abe.html [L]
RewriteRule ^page\/(.*)$ index.php?title=page&r=$1 [L]
RewriteRule ^media\/(.*)$ index.php?title=page&r=$1 [L]

RewriteRule ^admin/$    admin/php [L]
RewriteRule ^index\.html$    index\.php [L]
RewriteRule ^crons/$    crons/ [L]

#I did this to forward request to directory    
RewriteRule ^sites/$    sites/ [L]

#This  is the rule creating problem
#RewriteRule ^sites/([^.]+)$    sites/$1 [L]


RewriteRule ^([^.]+)\.html$   /index.php?title=$1
RewriteRule ^(.*)\.htm       index\.php\?action=$1 [L]RewriteRule ^([^.]+)$   /index.php?title=$1

我想覆盖那些site.com/sites以进入目录而不是index.php按照配置的方式进入目录的规则。

每当我去site.com/sites这些网站时,site.com/site/?title=sites我仍然可以将它作为文件夹浏览,但是每当我打开一个 html 文件时,就像假设的那样,test.html它会将我直接带到早期目录上的 index.php。

如何编写让我直接自由浏览的规则?

4

2 回答 2

0

使用 END 标志而不是 L 标志绝对会结束重写规则。

于 2013-07-02T02:06:59.337 回答
0

您必须配置为在遇到该行时忽略所有规则sites

这是您的解决方案:

RewriteEngine On
RewriteRule ^(sites) - [L]

#Rest of your rules
于 2013-07-02T02:20:16.847 回答