目标中带有特殊字符的重定向 URL
Redirection with special characters in the destination URL
我有一个我认为非常简单的 URL 重定向方案。访问一个简单好记的mydomainURL,然后被重定向到非常复杂的云地址。
这是我在 apache2 虚拟主机中的内容。
ServerName clock.mydomain.com
RewriteEngine On
RewriteRule ^/$ https://sub.example.com/service/#/12345/login/webclock/1 [R=301,NC,L]
问题是目标 URL 中的 #
。 #
被 html 编码为 %23
因此浏览器正在寻找但没有找到 https://sub.example.com/service/%23/12345/login/webclock/1
我该如何解决这个问题?我正在阅读的所有内容都是关于处理起点 URL 中的特殊字符,而不是终点 URL.
从 the mod_rewrite documentation 开始,当您的重写规则具有散列时,您需要使用 NE
(无转义)标志。
ServerName clock.mydomain.com
RewriteEngine On
RewriteRule ^/$ https://sub.example.com/service/#/12345/login/webclock/1 [R=301,NC,NE,L]
我有一个我认为非常简单的 URL 重定向方案。访问一个简单好记的mydomainURL,然后被重定向到非常复杂的云地址。
这是我在 apache2 虚拟主机中的内容。
ServerName clock.mydomain.com
RewriteEngine On
RewriteRule ^/$ https://sub.example.com/service/#/12345/login/webclock/1 [R=301,NC,L]
问题是目标 URL 中的 #
。 #
被 html 编码为 %23
因此浏览器正在寻找但没有找到 https://sub.example.com/service/%23/12345/login/webclock/1
我该如何解决这个问题?我正在阅读的所有内容都是关于处理起点 URL 中的特殊字符,而不是终点 URL.
从 the mod_rewrite documentation 开始,当您的重写规则具有散列时,您需要使用 NE
(无转义)标志。
ServerName clock.mydomain.com
RewriteEngine On
RewriteRule ^/$ https://sub.example.com/service/#/12345/login/webclock/1 [R=301,NC,NE,L]