我的webproject存储在/var/www/vhosts/domain.tld/httpdocs /
中 我将在下面列出的HTACCES文件包含以下内容:# Refuse direct access to all files
Order deny,allow
Deny from all
Allow from 127.0.0.1
<Directory /uploads/images/pages>
Order Deny,Allow
Allow from all
</Directory>
.htaccess文件存储在根目录下的文件夹文件中。所以完整的路径是: /var/www/vhosts/domain.tld/httpdocs/files /
文件夹&#34;文件&#34;的内容:
backups
backup1.zip
backup2.zip
...
mails
mail1.html
mail2.html
...
templates
temlpate.html
...
uploads
files
manual.pdf
...
images
pages
picture1.png
picture2.jpg
...
store
picture1.png
picture2.jpg
...
.htaccess <--- previous code block with htaccess code is for that file
我实际上要做的是保护每个文件夹免受直接访问,但以下情况除外:
可以直接访问这些文件夹中的每个文件
如上所述使用htaccess我得到500错误页面。当仅使用示例中的前4行(无例外)时,代码就可以正常工作。
感谢任何帮助!
提前致谢!
答案 0 :(得分:14)
您收到500错误,因为<Directory>
容器无法在htaccess文件中使用(该文件基本上都在其所在目录的目录容器中)。您需要做的是从htaccess文件中删除<Directory>
容器,并保留Deny from all
位:
文档根目录中的htaccess文件:
# Refuse direct access to all files
Order deny,allow
Deny from all
Allow from 127.0.0.1
然后在uploads/files/
,uploads/images/pages/
和uploads/images/store/
(以及您希望允许访问的任何其他目录)中创建一个htaccess文件:
Allow from all