2012-09-30 81 views
0

我想在本地主機上設置密碼保護目錄。無法顯示.htpasswd登錄屏幕

.htaccess文件位於/var/www/project/code/server/development.htpasswd文件位於/home/adarshakb/.htpasswd

.htaccess文件包含:

AuthType Basic 
AuthName Restricted 
AuthUserFile /home/adarshakb/.htpasswd 
require valid-user 

.htpasswd包含:

user:HkCKfIOQNlS1E 

現在,如果我去http://localhost/project/code/server/development/它不問f或任何身份驗證,只是打開。

這裏有什麼問題?

+0

如何配置/etc/apache2/apache2.conf文件?它允許覆蓋,即允許使用.htaccess文件嗎? http://httpd.apache.org/docs/2.2/howto/htaccess.html –

+0

@MortenHaraldsen是的,它確實允許。它有以下幾行。 'AccessFileName .htaccess' – footy

+0

而且它還沒有AllowOverride None用於您要保護的目錄? –

回答

0

我想你缺少一些模塊的負載。爲了確保這一點,請儘量把垃圾放在.htaccess文件中,並告訴我們發生了什麼事情。如果您有錯誤500,您的模塊已正確加載。

可以打印出加載模塊使用此命令:

apache2ctl -M 2>/dev/null 

你至少需要mod_authn_file & mod_auth_basic

+0

使用模塊要求編輯的POST –

+0

我有以下條目:auth_basic_module(共享) authn_file_module(共享) – footy

0

是否改變線在.htaccess來自:

AuthName Restricted 

AuthName "Password Protected Area" 

工作嗎?

之後,使htaccess的覆蓋:

sudo nano /etc/apache2/sites-available/default 

更改設置 「AllowOverride無」 到有 「AllowOverride全部」 中:

<Directory /var/www/> 
     Options Indexes FollowSymLinks MultiViews 
     AllowOverride None 
     Order allow,deny 
     allow from all 
</Directory> 

最後的設置重載:

sudo /etc/init.d/apache2 reload