【问题标题】:.htaccess is interfering with nested .htaccess/.htpasswd?.htaccess 干扰嵌套的 .htaccess/.htpasswd?
【发布时间】:2011-09-14 08:04:13
【问题描述】:

我正在使用简单邮件列表 (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>

【问题讨论】:

  • 非常感谢!!!您的 Joomla 解决方案完美运行。花了几个小时试图弄清楚这一点。

标签: linux apache wordpress .htaccess .htpasswd


【解决方案1】:

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

【讨论】:

  • 您好,感谢您的建议。我试过了,它似乎不起作用。当我尝试加载它时仍然说“找不到页面”。但是当我删除最后一行时, 'RewriteRule 。 /index.php [L]',密码再次起作用。嗯,还有其他想法吗?
【解决方案2】:

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

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

例如,您可以尝试在 /mail/admin/ 目录和根目录的全新文件夹中创建空白文本文件,然后查看是否可以毫无问题地访问这些文件 - 可能会缩小问题所在.

【讨论】:

  • 嗨。当我删除 WordPress 的 .htaccess(在网站的根目录中)时,密码保护工作正常(在 /mail/admin 中)。首先,我将问题缩小到 WordPress 的 .htaccess 文件,然后将其缩小到这一行: RewriteRule 。 /index.php [L] ... 使用 Joomla 的人遇到了同样的问题,他们想出了一个可行的解决方案(请参阅我的原始帖子进行编辑)。感谢您的帮助。
猜你喜欢
  • 2012-09-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多