此问题可能是由于Apache服务器更新后默认配置导致的,问题出现在Apache 2.4.41版本中。解决方法为在您的Apache配置文件中添加以下代码:
AllowEncodedSlashes NoDecode
请确保此代码添加到 Apache 的全局配置(默认为“httpd.conf”或“apache2.conf”),重启Apache服务器,如果本地启动Apache服务器,则需重新启动。
此问题也可能在rewrite规则中出现,因此您可能需要更新您的规则并确保不会在重定向中使用空格(%20)。例如:
RewriteEngine On RewriteRule ^/path/with%20space$ /newpath/without-space [R=301, L]
上述规则中,“/path/with%20space”将重定向到“/newpath/without-space”,并省略空格(%20)。
将规则更新为以下内容:
RewriteEngine On RewriteRule ^/path/with\ space$ /newpath/without-space [R=301, L]
以上文本将空格(%20)转义为“\”和空格字符,以确保重定向不会包含空格。