将 html 编码替换为 url 编码

Replace html encoding with url encoding

我们得到的随机点击如下:

/abc?p=2&utm_campaign=xyz-campaign&utm_medium=email&utm_source=newsletter

注意 & 这是 & 的 html 编码。我检查了可能的来源,但它们都只包含“&”。 我想用 & 替换所有 &。有没有办法实现它?到目前为止,我已经使用下面给定的规则删除了完整的字符串。但这是不对的!

    RewriteCond %{QUERY_STRING} (&)
    RewriteRule (.*?) https://%{HTTP_HOST}%{REQUEST_URI}? [R=302,L]

在您的日志中捕获引荐来源网址,以便您可以找到问题的根源并(同时)解决问题。

RewriteCond %{THE_REQUEST} ^\S++\s++([^\s?]*+\?\S*?&)amp;(\S*+)
RewriteRule ^ %1%2 [DPI,L,R=301]

这将为每个&符号执行一次重定向,而不会混淆解码和 re-encoding URL。效率较低但更可靠。