2

有许多类似的问题,但没有一个有帮助。我的 .htaccess 中有以下规则

RewriteRule ^images/.*$ - [F]

所以对于像 /images/goods/ 或 /images/nonexistentfile.jpg 这样的文件夹,我会得到“禁止”,这就是我想要的。问题是,如果请求了现有文件,我的规则将被忽略并提供文件。事实上,如果我在 .htaccess 中故意犯错,我不会像在请求文件夹或不存在的文件时那样收到内部服务器错误。我应该寻找什么?


apache2.conf

<VirtualHost 1.2.3.4:8080>
    ServerName domain.com
    DocumentRoot /var/www/s3/data/www/domain.com
    SuexecUserGroup s3 s3
    CustomLog /var/www/httpd-logs/domain.com.access.log combin$
    ErrorLog /var/www/httpd-logs/domain.com.error.log
    ServerAlias www.domain.com
    ServerAdmin example@domain.com
    AddDefaultCharset utf-8
    php_admin_value open_basedir "/var/www/s3/data:.:/tmp"
    php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -f example@domain.com
    php_admin_value upload_tmp_dir "/var/www/s3/data/mod-tmp"
    php_admin_value session.save_path "/var/www/s3/data/mod-tmp"
    AddType application/x-httpd-php .php .php3 .php4 .php5 .phtml
    AddType application/x-httpd-php-source .phps
</VirtualHost>

还有什么我应该在这里发布的吗?

4

3 回答 3

0

我有一个类似的问题。我将以下 .htaccess 放入 images 文件夹以禁止访问 jpg 文件(在我的情况下)

IndexIgnore */*
<Files ~ ".*\.jpg$">
    Order deny,allow
    Deny from all
</Files>
于 2012-12-19T08:45:57.247 回答
0

看起来你的 htaccess 文件没有被应用。尝试在您的虚拟主机配置中添加AllowOverride 指令:

<Directory "/var/www/s3/data/www/domain.com/">
    AllowOverride All
</Directory>

默认情况下,AllowOverride 应设置为All,但您的主机可能在服务器配置级别将其设置为其他值。

于 2012-12-19T22:05:23.240 回答
0

万一有人有同样的问题,那是微不足道的。默认的 ISPManager 安装将 nginx 放在 Apache 前面用于静态文件...

于 2012-12-25T15:58:01.913 回答