【问题标题】:htaccess password protect conflicthtaccess 密码保护冲突
【发布时间】:2014-07-27 10:37:45
【问题描述】:

我在 wordpress 项目中遇到了 htaccess 身份验证问题。我想用密码保护子目录(beta),而不是根目录(mywebpage)。所以,我有以下目录

mywebpage
  index.php
  beta
     index.php
     .htaccess
     .htpasswd

问题是当我尝试访问我的网页目录时,我仍然得到登录弹出窗口。但是当 mywebpage 中的索引文件是 .html 文件时,就可以正常工作了。

这是 .htaccess 文件的内容:

AuthName "MySprts"
AuthType Basic
AuthUserFile "/var/www/web703/html/mywepage/beta/.htpasswd"
AuthGroupFile /dev/null
require valid-user

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

【问题讨论】:

  • 您是否尝试在根目录中放置一个空的 .htaccess(例如,只有 AuthName "MySprts")文件?
  • 是但什么都没有.. :/

标签: wordpress .htaccess


【解决方案1】:

.htaccess 文件位于您希望它生效的目录中。

如果您不想要密码保护,root 需要一个没有密码指令的 .htaccess。

/beta/ 如果你想要密码保护需要 .htaccess 和密码指令。

当 apache web 服务器加载一个页面时,它首先读取根 .htaccess,然后是子目录 .htaccess,对每一级子目录重复。每个 .htaccess 都可以对更接近根目录的 .htaccess 指令进行过度权限...但不会更改或影响那些更接近根目录的目录。

.htaccess 中有一些东西,位于目录链的上层。也许它是由 cpanel 创建的? index.php 是否可以将流量重定向到 beta 目录?

【讨论】:

  • 一切似乎都按照您的指示进行:root htacces 仅包含 AuthName "MySprts" 和 /beta/ htaccess 内容在我的描述中
  • 链中没有其他 htaccess 并且 /beta/ 索引它只是一个带有一些 php 代码的 html 表单。没有重定向。奇怪的是,如果我将根 (/mywebpage/) index.php 更改为 index.html 它可以工作
  • 将 .AuthName 指令从根 .htaccess 中取出,并将其保留在 beta .htaccess 中。您帖子中显示的所有指令都不需要也不应该在根目录或任何父级的 .htaccess 中。
  • /mywebpage/index.php 包含什么?听起来它正在重定向到 beta 目录。
  • 注意:浏览器缓存重定向,(RewriteEngine)关闭浏览器重新打开进行测试。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-10-19
  • 1970-01-01
  • 2011-09-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多