我正在尝试为运行apache的localhost上的文件夹设置基本身份验证。目前该应用程序运行正常,无需身份我已经设置了虚拟主机,因此我可以通过dev.myapp.com
访问我的应用程序我添加到.htaccess文件中以强制进行身份验证的代码是:
<Directory "/Users/myusername/Sites/dev.myapp.com">
AuthType Basic
AuthName Test
AuthBasicProvider file
AuthUserFile /etc/apache_users
Require valid-user
</Directory>
我创建了一个用户。
当我在浏览器中输入dev.myapp.com时,我收到内部服务器错误。我对apache很新。正确方向的一点将不胜感激。
感谢。
答案 0 :(得分:1)
首先,使用.htaccess有点慢,并且要求您相应地设置AllowOverride指令。建议您改为使用httpd.conf来建立基本身份验证。 Apache文档解释了所有这些,请查看此链接http://httpd.apache.org/docs/2.2/howto/auth.html。
无论如何,我想我看到了错误。您的<Directory>
标记看起来有点奇怪。我们了解您网站的名称是dev.my.app.com
,但是该网站dev.myapp.com
指向您服务器的文件夹的实际名称是什么?您的httpd.conf文件应该有这样的条目:
<VirtualHost *>
DocumentRoot "document/root/path"
Other directives here
</VirtualHost>
DocumentRoot
是Apache指示所有传入网络流量的地方。如果您尝试为整个网站建立身份验证,则DocumentRoot
的值很可能是您在目录标记中所需的值...使其成为<Directory /document/root/path>
。
要找到httpd.conf
,请查看/etc/apache2/
。确保在更改文件(sudo /etc/init.d/apache2 restart
)后重新启动服务器。希望有所帮助,如果您还没有解决问题,请更新。