Apache mod_rewrite忽略现有文件

Apache mod_rewrite忽略现有文件,apache,mod-rewrite,Apache,Mod Rewrite,有许多类似的问题,但都没有帮助。 我的.htaccess中有以下规则 RewriteRule ^images/.*$ - [F] 因此,对于像/images/goods/或/images/nonexistentfile.jpg这样的文件夹,我会得到“禁止”,这正是我想要的。问题是,如果请求一个存在的文件,我的规则将被忽略,文件将被送达。事实上,如果我在.htaccess中故意出错,我不会像请求文件夹或不存在的文件时那样出现内部服务器错误。我应该找什么 apache2.conf <Vir

有许多类似的问题,但都没有帮助。 我的.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>

ServerName域名.com
DocumentRoot/var/www/s3/data/www/domain.com
SuexecUserGroup s3 s3
CustomLog/var/www/httpd logs/domain.com.access.log组合$
ErrorLog/var/www/httpd-logs/domain.com.error.log
ServerAlias www.domain.com
服务器管理员example@domain.com
AddDefaultCharset utf-8
php_admin_value open_basedir“/var/www/s3/data:.:/tmp”
php\u admin\u value sendmail\u path”/usr/sbin/sendmail-t-i-fexample@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应用程序/x-httpd-php.php.php3.php4.php5.phtml
AddType应用程序/x-httpd-php-source.phps
还有什么我应该在这里发布的吗?

我也有类似的问题。 我将以下.htaccess放在images文件夹中,以禁止访问jpg文件(在我的例子中)

IndexIgnore*/*
命令拒绝,允许
全盘否定

您的htaccess文件似乎未被应用。请尝试在vhost配置中添加:

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

允许超越所有

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

如果有人有相同的问题,这是一个非常简单的问题。默认的ISPManager安装会将nginx放在Apache前面,用于静态文件…

您可以发布所有配置吗?此规则应该有效对于现有文件。(i)该文件中是否有任何其他规则/条件(ii)/images/.htaccess中是否定义了任何规则?/images中没有.htaccess文件。我仔细查看了配置文件,我发誓我没有找到与此站点或mod_rewrite有关的任何其他内容。这不会解决我的问题,因为我还需要对某些图像进行一些动态水印,但我没有I don’’别提这件事,以免引起任何人对如此浪费资源的愤怒。如果请求的图像存在,那么脚本会处理它,并将水印应用到图像上。是吗?是的,但出于某种原因。当文件存在时,htaccess会被完全忽略。F标志的文档表示,这种行为类似于上面发布的拒绝指令。I ma请检查我的lamp服务器,并在RewriteRule ^images/*$-[F]上使用以下指令重写引擎.您的.htaccess放在哪里?它在其他安装和我的本地计算机上都能正常工作。正是这个shaitan服务器给我带来了麻烦,它是默认的ISPmanager安装。不,它允许覆盖所有内容。
<Directory "/var/www/s3/data/www/domain.com/">
    AllowOverride All
</Directory>