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

Linux .htaccess正在干扰嵌套的.htaccess/.htpasswd?,linux,apache,wordpress,.htaccess,.htpasswd,Linux,Apache,Wordpress,.htaccess,.htpasswd,我正在使用简单邮件列表()。这是一个很好的邮件列表,但没有管理区。因此,您必须使用.htaccess/.htpasswd来保护/mail/admin文件夹 但是,我的网站的根文件夹中安装了WordPress。WordPress为自定义永久链接创建.htaccess。出于某种原因,这会干扰my/mail/admin/的.htaccess 当我删除WordPress.htaccess文件时,我的密码保护在/mail/admin上正常工作。然而,当WordPress.htaccess存在并且我在浏览器

我正在使用简单邮件列表()。这是一个很好的邮件列表,但没有管理区。因此,您必须使用.htaccess/.htpasswd来保护/mail/admin文件夹

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

当我删除WordPress.htaccess文件时,我的密码保护在/mail/admin上正常工作。然而,当WordPress.htaccess存在并且我在浏览器中加载/mail/admin时,我从未被要求输入密码,我看到WordPress 404页面上显示“未找到页面…”

这是我的档案。。。htaccess(位于根文件夹中):

你知道是什么导致了这场冲突,以及我如何解决它吗?我已经做了好几个小时了。非常感谢你的帮助

多谢各位

编辑:找到了解决方案

在Joomla博客上找到了解决方案。我不知道怎么做,但这是有效的。。。LOL:)


重新启动发动机
重写基/
重写规则^index\.php$-[L]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写cond%{REQUEST_URI}(/|\.htm |\.php |\.html | |.*.|.*?.|/[^.]*)$[NC]
重写规则^(.*)/index.php[L]

您可以尝试显式设置请求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>

重新启动发动机
重写基/
重写cond%{REQUEST_URI}!邮件
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则/index.php[L]

我想这里一定还有我们看不到的事情。当您试图访问的是服务器上存在的文件或目录时,该Wordpress.htaccess代码已经阻止了重写URL,在本例中应该是这样

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


例如,您可以尝试在/mail/admin/目录和根目录中的一个全新文件夹中创建空白文本文件,并查看是否可以访问这些文件而不会出现任何问题-可能会缩小问题的范围。

您好,感谢您的建议。我试过了,但似乎不起作用。当我尝试加载页面时,仍然会显示“未找到页面”。但当我删除最后一行时,“重写规则”/index.php[L]',则passwd再次工作。嗯,还有其他想法吗?嗨。当我删除WordPress的.htaccess(在网站的根目录中)时,密码保护工作正常(在/mail/admin中)。首先我把问题缩小到WordPress“.htaccess文件,然后我把它缩小到这一行:RewriteRule/index.php[L]。。。使用Joomla的人也遇到了同样的问题,他们提出了一个可行的解决方案(请参阅我的原始帖子进行编辑)。谢谢你的帮助。非常感谢!!!你的Joomla解决方案非常有效。花了好几个小时想弄明白这一点。
AuthName "Restricted Area" 
AuthType Basic 
AuthUserFile /home/myUsername/public_html/mySndSite/mail/admin/.htpasswd 
require valid-user
<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>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !mail
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>