HTACCESS会忽略图像

问题描述

我有以下非常简单的htaccess文件:

RewriteEngine On
RewriteRule a.jpg b.jpg
RewriteRule c.php d.php

所有四个资源都在根文件夹中。

PHP规则可以按预期工作,但是,将忽略JPG规则,就像它不在那里一样。图片a.jpg继续显示。

我完全不知道为什么会发生这种情况。

我能想到的唯一解释是,如果请求的资源是映像,则Apache会以某种方式完全不调用htaccess。那有可能吗?

解决方法

我找出了原因,并且在有人遇到相同问题的情况下发布了答案。

似乎在服务器上同时配置了Nginx和Apache。 Nginx是面向互联网的,而Apache是​​内部的。

看来Web托管公司这样做是为了从Nginx的更好性能中受益,并同时向来自Apache环境的任何人提供兼容性。

当Nginx从互联网接收到PHP请求时,它允许请求通过并到达Apache,但是当资源是静态资源(图像,css,js)时,Nginx会自行提供资源以实现最佳性能。

上面的htaccess图片规则未得到处理,因为请求甚至没有到达Apache。

我暂时不允许Nginx自行处理图像并允许它们继续处理Apache,从而解决了这个问题。

当然,更好的解决方案是删除htaccess依赖关系并处理Nginx配置文件中的所有内容,这将在不久后完成。

最好的解决方案当然是完全删除Apache,但这是一台共享服务器,我没有完全控制权。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...