linux - .htaccess 是否会干扰嵌套的 .htaccess/.htpasswd?

标签 linux apache wordpress .htaccess .htpasswd

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

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

当我删除 WordPress .htaccess 文件时,我的密码保护在/mail/admin 上正常工作。然而,当 WordPress .htaccess 存在并且我在浏览器中加载/mail/admin 时,我从来没有被要求输入密码并且我看到一个 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>

最佳答案

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

关于linux - .htaccess 是否会干扰嵌套的 .htaccess/.htpasswd?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3270142/

相关文章:

windows - IIS 用户目录,如 linux public_html

php - Woocommerce - 分组产品 - 显示顺序

Java 运行时进程不会 "Grep"

mysql - 增加MySQL的缓存能力

c - C11 是否禁止这种行为(显然是凭空存储)?

linux - 在 Ubuntu 14.04 上安装 ColdFusion 9,运行连接器向导时出错

php - 来自 PHP 导入脚本的未初始化字符串偏移错误

php - 在 Wordpress(或 .htaccess)中创建 URL 别名

php - 使这条线在侧边菜单栏和内容垂直线之间

C++-Linux : Capturing the mouse ala VirtualBox