.htaccess正在干扰嵌套的.htaccess / .htpasswd?

时间:2010-07-17 03:40:41

标签: linux apache wordpress .htaccess .htpasswd

我正在使用简单邮件列表http://www.notonebit.com/projects/mailing-list)。这是一个很好的邮件列表,但没有管理区域。所以你必须使用.htaccess / .htpasswd来保护/ mail / admin文件夹。

但是,我的网站在网站的根文件夹中安装了WordPress。 WordPress为自定义永久链接创建.htaccess。由于某种原因,这会干扰my / mail / admin /.

的.htaccess

当我删除WordPress .htaccess文件时,我的密码保护在/ mail / admin上正常运行。但是,当WordPress .htaccess存在并且我在浏览器中加载/邮件/管理员时,我从未被要求输入密码,我看到一个WordPress 404页面上写着“找不到页面......”

以下是我的文件...... WordPress .htaccess(位于根文件夹中):

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

邮件列表.htaccess(位于/ mail / admin):

AuthName "Restricted Area" 
AuthType Basic 
AuthUserFile /home/myUsername/public_html/mySndSite/mail/admin/.htpasswd 
require valid-user

有什么想法导致冲突,以及我如何解决冲突?一直在工作几个小时。非常感谢您的帮助。

谢谢

编辑:找到了解决方案!

在Joomla博客上找到解决方案。我不知道怎么做,但是这个有用......哈哈:)

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteRule ^index\.php$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (/|\.htm|\.php|\.html|#.*|\?.*|/[^.]*)$  [NC]
RewriteRule ^(.*) /index.php [L]
</IfModule>

2 个答案:

答案 0 :(得分:0)

您可以尝试显式设置请求URI 的条件与邮件脚本的url匹配。这应该可以防止在您查看邮件管理页面时重写。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !mail
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

答案 1 :(得分:0)

我认为这里肯定会有其他事情发生,我们无法看到。当您尝试访问的是文件或服务器上存在的目录时,Wordpress .htaccess代码已经阻止了重写URL,在这种情况下应该是真的。

是否有任何其他.htaccess文件涉及任何地方,或Wordpress中安装的任何涉及重写的插件?另外,当您删除需要密码的.htaccess文件时,/ mail / admin /是否正常工作?

你可以尝试在/ mail / admin /目录和根目录中的一个全新文件夹中创建空白文本文件,看看你是否可以毫无问题地访问它们 - 可能会缩小问题的范围