Apache .htaccess:如何在 Firefox 上用斜杠重写反斜杠?

Bin*_*min 5 apache .htaccess mod-rewrite url-rewriting

如何在 Firefox 上'\'用斜杠重写反斜杠?'/'

Chrome、IE、Safari、Opera 已构建浏览器用斜杠重写反斜杠。
但 Firefox 3.6.13 返回404 错误页面

# Why Firefox returns 404 error page?
RewriteCond %{REQUEST_URI} (.*)\\(.*)
RewriteRule .* %1/%2 [R=301,L]
Run Code Online (Sandbox Code Playgroud)

Bin*_*min 3

这是 Apache 和 FF 的 bug,https://issues.apache.org/bugzilla/show_bug.cgi?
id=35256 希望它能在很快的功能中得到修复。

  1. 默认情况下,AllowEncodedSlashes 确实应该“打开”,甚至可能已弃用。...
  2. RFC 中没有将反斜杠(\)列为保留字符。因此 a%5C
    %7E始终以与转换为波形符相同的方式进行解码(~)

要在 Apache 上解决此问题:添加
httpd -vhosts.conf 或 httpd.conf 和 .htaccess:AllowEncodedSlashes OnVirtualHost

RewriteEngine On 
RewriteCond %{REQUEST_URI} ^(.*)\\(.*)$
RewriteRule .* %1/%2 [R=301,NC,L]
Run Code Online (Sandbox Code Playgroud)