0

我将所有 URL 重写为小写,它工作正常。

RewriteCond %{REQUEST_URI} [A-Z]
RewriteRule (.*) $1 [CL,R=301]

但是很少有地方会用到 ID 并且 ID 会转换成这个:

原始 URI 模式(添加空格以突出显示替换):

7f4320a7-9b13-4439-837f-ba0dbbed29ad %2C b3a990ae-b693-4496-b7cc-59f0b1cfc14a

本地主机:

7f4320a7-9b13-4439-837f-ba0dbbed29ad b3a990ae-b693-4496-b7cc-59f0b1cfc14a

开发服务器:

7f4320a7-9b13-4439-837f-ba0dbbed29ad %252c b3a990ae-b693-4496-b7cc-59f0b1cfc14a

我不太明白为什么它会有所不同,显然 0x2C 是逗号的十六进制,但我不知道它是如何以及为什么转换的。

!(pattern Repeats in every ID using URL)用作临时解决方案,但我很好奇它有什么问题,我可以使用忽略 HEX 值的条件。

4

1 回答 1

0

出来我需要添加 [NE] (noencode) 到RewriteRule (.*) $1 [CL,NE,R=301].

%25 是一个'%',所以字符被编码了两次。

于 2012-04-25T19:24:08.007 回答