我需要一个 javascript/regex 来用 %21 替换 %2F
这样我就可以在将 encodeURIComponent() 应用于 URL 之后通过 GET 参数传递正斜杠。
当它到达服务器端时,我将从!至 /
这不是一个理想的解决方案,但似乎没有其他方法适用于我的重写规则。
我需要一个 javascript/regex 来用 %21 替换 %2F
这样我就可以在将 encodeURIComponent() 应用于 URL 之后通过 GET 参数传递正斜杠。
当它到达服务器端时,我将从!至 /
这不是一个理想的解决方案,但似乎没有其他方法适用于我的重写规则。
好的,我已经解决了这个问题,并且需要大量的研究,因为我不像这里的某些人那样有才华。我想无论如何我都会分享解决方案。
本质上,服务器会在使用 %2F 后立即对其进行解码,因此您最终会得到一条完全错误的路径。
您需要做的是在客户端将 %2F 替换为 %252F。
x = x.replace(/%2F/gi, "%252F");
这是 %2F 的双重编码形式。
因此,当它到达服务器时,它会过早地被解码为 %2F 而不是正斜杠。
别客气。
您尝试过 String.replace 吗?
x = x.replace(/%2F/gi, "%21");