我正在进行基本身份验证以通过调度程序访问网页。我已经浏览了一些博客并且能够实现它,但仅限于一个目录。下面是我配置的虚拟主机。
<VirtualHost *:80>
ServerAdmin admin@aemcorner.com
ServerName aemcorner.com
ServerAlias www.aemcorner.com
#DocumentRoot /var/www/example.com/public_html
DocumentRoot /opt/communique/dispatcher/cache
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /content/practice/en/hello/secure-pages>
# <Directory /var/www/example.com/public_html>
AuthType Basic
AuthName "Secure Content"
AuthBasicProvider file
AuthUserFile /etc/apache2/passwords
Require all granted
</Directory>
</VirtualHost>
在这里,我想使用注释行,这个片段工作正常,但当我 将其替换为 / content / practice / en / Secure-Pages 并使用注释的DocumentRoot,它会给我一个错误,如下所示:
**Forbidden
You don't have permission to access /content/practice/en/hello/secure-pages/sp1.html on this server.**
我想访问页面/opt/communique/dispatcher/cache/content/practice/en/Secure-Pages/SP1.html
我也收到以下错误:
[Mon Sep 07 20:57:39.500158 2015] [authz_core:error] [pid 9483:tid 140017092585216] [client 127.0.0.1:49543] AH01630: client denied by server configuration: /opt/communique/dispatcher/cache/favicon.ico, referer: http://aemcorner.com/content/practice/en/hello/secure-pages/sp1.html
答案 0 :(得分:1)
我能够通过以下配置解决这个问题:
<VirtualHost *:80>
ServerAdmin admin@aemcorner.com
ServerName aemcorner.com
ServerAlias www.aemcorner.com
#DocumentRoot /var/www/example.com/public_html
DocumentRoot /opt/communique/dispatcher/cache
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Location /content/practice/en/hello/secure-pages>
# <Directory /var/www/example.com/public_html>
AuthType Basic
AuthName "Secure Content"
AuthBasicProvider file
AuthUserFile /etc/apache2/passwords
Require valid-user
</Location>
</VirtualHost>
我使用Location
代替目录和Require valid-user