我正在运行一个 LAMP 系统(在 Pi 上),我收到了很多恶作剧的请求,这些请求似乎会导致 302 状态代码,例如:
140.143.16.158 - - [06/Mar/2020:18:32:32 +0100] "GET /TP/public/index.php HTTP/1.1" 302 540 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.0;en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6)"
据我了解,我的 Apache 网络服务器指示临时重定向。但它重定向到哪里?我只是不知道我的网络服务器如何处理这个问题(正确吗??)而且我不知道在哪里或检查什么..有人可以解释一下吗?
将提供解决此问题所需的一切。例如,这是我的 000-default.conf(注释省略):
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
RewriteEngine On
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R,L]
</VirtualHost>
任何帮助都感激不尽!
没关系,我想我想通了..对于那些感兴趣的人:
重写规则是作为从 http 到 https 的永久重定向设置的,所以我期待 301 代码(永久重定向)。但事实证明,当仅使用 [R] 时,Apache 发出 302(临时重定向)而不是 301。
让我感到困惑的是“临时”部分。我将 rewriterule 标志更改为 [R=301,L] (顺便说一句,L 代表要处理的最后一条规则)。我将监控我的访问日志,看看我是否正确。