【发布时间】:2019-01-30 11:08:37
【问题描述】:
我有 2 个 vps:
- Centos 7 / Php 7.0 / Apache 2.4.6
- Ubuntu 18 / PHP 7.2 / 阿帕奇 2.4.29
两者都安装了 VestaCP 相同的配置(apache 作为后端,nginx 作为前端)。
有相同的脚本,在第二台服务器上不起作用。
.htaccess 规则:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} \.(jpg|jpeg|png|gif)$ [NC]
RewriteCond %{REMOTE_ADDR} !^(127.0.0.1)$ [NC]
RewriteCond %{HTTP_USER_AGENT} (bad|useragents) [NC]
RewriteRule (.*) script.php?src=$1 [L]
</IfModule>
注意:
- apache mod_rewrite 已开启并且可以正常工作
- 直接执行脚本作品
可能是什么?我尝试调试 apache 日志,找到请求不重定向的原因,但 apache LogLevel debug 没有显示任何错误。
【问题讨论】:
-
我怀疑的第一件事是
REMOTE_ADDR解析为127.0.0.1由于您的前端。比较 NGINX 配置 -
成功了!所有 REMOTE_ADDR 指令都不起作用。但为什么呢?
标签: php apache .htaccess nginx