.htaccess 不詢問密碼
我正在使用 Ubuntu 12.04 並嘗試在帶有 apache2 伺服器的頁面上使用 .htaccess。我的 .htaccess 文件如下所示:
AuthType Basic AuthName "Password Required" AuthBasicProvider file AuthUserFile /home/janeb/.htpasswd require valid-user
/home/janeb/.htpasswd 文件是:
inb351:$apr1$Ya4tzYvr$KCs3eyK1O2/c7Q9zRcwn..
和 /etc/apache2/sites-available/default 文件是:
UserDir public_html <Directory ~ "public_html/.*"> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory>
我重新啟動了apache。我試圖更改
require valid-user
為require user inb351
. 仍然沒有運氣。我也試過andAllowOverride
。所以我不知道還能做什麼,是的,我嘗試過的每一步都重新啟動了 apache。AuthConfig``AuthConfig Indexes
編輯:確切的預設文件是:
<VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> UserDir disabled vmuser UserDir public_html <Directory ~ "public_html/*"> Options Indexes FollowSymLinks MultiViews AllowOverride All </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined Alias /doc/ "/usr/share/doc/" <Directory "/usr/share/doc/"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128 </Directory>
我懷疑
apache
使用者沒有閱讀能力/home/janeb/.htpasswd
。檢查 Apache 的錯誤日誌。這是我在提供的配置中看到的唯一錯誤,但這可能不是唯一的問題;請提供您的完整虛擬主機配置。我還建議您將身份驗證配置從
.htaccess
文件中移出 - 它沒有理由存在。編輯:
.htaccess
未應用文件的原因AllowOverride All
是未將其應用於文件所在的路徑.htaccess
。該
.htaccess
文件需要與<Directory>
塊同時應用 - 如果AllowOverride
在塊中指定,<Directory ~ ...>
那麼它會在.htaccess
應該應用之後發生。由於這不起作用,文件特別警告它:AllowOverride 僅在
<Directory>
未指定正則表達式的節中有效,在<Location>
或<DirectoryMatch>
節中無效<Files>
。在您的配置中添加一個新塊以允許
.htaccess
使用您的文件:<Directory /home> AllowOverride All </Directory>