我在Ubuntu 11.04 Web服务器上运行Apache 2.2.20。 我有一个运行的Joomla网站,但我也添加了一些自定义内容。 在主网上直接我添加了一个文件夹/images/sub_folder ,在这个sub_folder我放了一大堆的图片。 我不希望任何人能够直接从networking上直接访问这些图片,所以我在该子文件夹中sub_folder了一个.htaccess文件,并在其中放入以下行:
deny from all
似乎没有任何效果,我仍然可以直接从网页浏览器访问图像。 我重新启动了Apache服务。 我究竟做错了什么?
谢谢
蒂姆
在您的Apacheconfiguration拒绝目录的条目,如下所示:
<Directory "yourdirectoryabsolutepath" > Options Includes AllowOverride All Order allow,deny Deny from All </Directory>
如果你想要求一个login密码来从网上访问文件夹,你需要在你想保护的文件夹中创build一个.htaccess文件,以及一个能够login但必须更改的用户密码文件从你的Apacheconfiguration到允许从所有和你的.htacces这样的东西
AuthName "Password Protected Directory" AuthType Basic AuthUserFile /pathtoyourpasswdfile/.htpasswd require valid-user
并使用这样的网站来创build您的encryption密码,相同的格式,您的Apache使用
http://www.edwinbush.com/my-tools-page/htpasswd-content-generator/
就是这样,现在当你需要进入文件夹时,一个promp将显示并询问你的用户名和密码。 可能需要重新启动Apache
在你的网站的configuration文件中,你将不得不使用AllowOverride All 。 这将覆盖以前的configuration指令,无论你在.htaccess文件中提到的是什么。
注意:出于安全原因,不要在您的块中将AllowOverride设置为None以外的任何值。 相反,find(或创build)指向您实际打算放置.htaccess文件的目录的块。
请参阅以下链接。
http://httpd.apache.org/docs/2.2/mod/core.html#allowoverride http://httpd.apache.org/docs/2.2/howto/htaccess.html#how