0

我的 htaccess 中有以下内容,位于我网站的 public_html/ 中:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(mailinglist)/.*$ - [L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
</IfModule>

我不确定这是否有效。当我去http://www.mysite.com/mailinglist时很好,它不会尝试执行上面的最后一条规则。当我访问http://www.mysite.com/mailinglist/login时也可以。http://www.mysite.com/mailinglist/campaigns也可以。当它不起作用时,当我访问http://www.mysite.com/mailinglist/w/1时,它使用最后一个 RewriteRule,即:

RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]

如何让这个 htaccess 完全忽略我的 /mailinglist 目录以及其中的任何内容?在那个目录中,我有一个不同的 htaccess,我希望该目录使用它。

4

1 回答 1

0

尝试将您的邮件列表规则更改为:

RewriteRule ^/?mailinglist - [L,NC]

或者您可以将其添加为 index.php 规则的例外:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^/mailinglist
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
于 2012-09-21T21:55:06.813 回答