由于mod_auth,mod_rewrite无法正常工作?

时间:2014-06-24 16:39:58

标签: apache .htaccess mod-rewrite mod-auth

我一定在Apache发现了一个错误!因为我的webhost存在最棘手的问题。我无法访问名为admin的文件夹。它适用于一个虚拟主机,但不适用于另一个。 (相同的托管帐户)

/。htaccess的

<IfModule mod_rewrite.c>
  Options +FollowSymLinks
  RewriteEngine on
  RewriteBase /

  # No logic for resolved paths
  RewriteCond %{REQUEST_FILENAME} -d [OR]
  RewriteCond %{REQUEST_FILENAME} -f [OR]
  RewriteCond %{REQUEST_FILENAME} -l
  RewriteRule ^ - [L]

  RewriteRule .* index.php [L]
</IfModule>

/admin/.htaccess:

AuthType Basic
AuthName "Restricted Area"
AuthUserFile /home/user/domains/mydomain.com/public_html/admin/.htpasswd
Require valid-user

解析http://www.mydomain.com/admin/index.php我找不到404。如果我删除admin / .htaccess文件,页面会解析。那是什么?

2 个答案:

答案 0 :(得分:0)

查看我的Tips for debugging .htaccess rewrite rules。除非oyu用RewriteOptions Inherit*指令覆盖默认值,否则因为/admin/.htaccess存在,那么父节点将不会被执行。要么添加

RewriteOptions Inherit

到此文件或只是在管理员访问文件中重复您需要的重写。

答案 1 :(得分:0)

问题源自ErrorDocument设置。 将以下行添加到admin / .htaccess可以解决问题

ErrorDocument 401 "Access Denied"