我的服务器中有一个受保护的文件夹。
/var/www/private/ /var/www/private/.htaccess
它也有很多不同的服务子文件夹。
/var/www/private/service1/ /var/www/private/service2/ /var/www/private/service3/
现在,我想缩短一些服务的url。 我想使用符号链接。
/var/www/service1 -> private/service1
现在的testing:
http:// localhost / private / service1 < – 要求密码,就像我想要的。
http:// localhost / service1 < – 不要求input密码!
这是符号链接的一般限制还是错误configuration问题? 尝试在Fedora和Ubuntu与相当标准的configuration(我可以张贴在请求)。
您可能只为目标目录启用了htaccess。 你也应该为符号链接本身做同样的事情:
<directory /var/www/symlink> allowoverride all </directory>
在path中find符号链接后,apache不处理为目标目录定义的指令。 无论如何,我会在apacheconfiguration中使用别名而不是symlinking。 缩短url,也就是说。
简短的回答:使用apache2configuration,而不是文件.htaccess,并保护原来的目录,而不是符号链接(或者也许有办法告诉“目录”取消引用符号链接)
长答案:我有一个类似的问题,phpmyadmin。 遵循Debian指南,我在文档根目录中创build了一个符号链接:
/var/www/html/phpmyadmin --> /usr/share/phpmyadmin
然后我把这个指令
<Directory "/var/www/html/phpmyadmin"> AuthType Basic AuthName "Restricted Content" AuthUserFile /etc/apache2/.htpasswd Require valid-user </Directory>
而在/etc/apache2/sites-available/000-default.conf中
它不起作用。 最终我发现要保护的path不是符号链接,而是实际的目录:
<Directory "/usr/share/phpmyadmin"> AuthType Basic AuthName "Restricted Content" AuthUserFile /etc/apache2/.htpasswd Require valid-user </Directory>
这一个工作。