如何使用 # in url

问题描述

我需要在 htaccess 中编写 301 重定向代码。 我尝试过的。

RewriteRule ^old-url-shoes/$  new-url-shoes-abc/#div-id-shoes [R=301,NC,L] 

代码正在创建此网址

new-url-shoes-abc/%23div-id-shoes

它正在用“%23”替换“#”。

请提出解决方案。

解决方法

能否请您尝试以下一次,使用显示的示例编写和测试。 在测试您的网址之前,请务必清除浏览器缓存。

RewriteRule ^old-url-shoes/$  new-url-shoes-abc/#div-id-shoes [R=301,NC,NE,L]

来自文档:

NE|noescape 默认情况下,特殊字符,例如 & 和 ? 例如,将转换为其等效的十六进制代码。使用 [NE] 标志可防止这种情况发生。

另外作为一个额外的建议,使用 ^old-url-shoes/?$ ? 这样它就可以涵盖规则中任一网址以斜线结尾或不以斜线结尾的情况。