创建一个不会被URL解码的HTML链接

时间:2016-02-18 15:27:23

标签: html url url-encoding

我需要创建一个指向包含字符#%23)的网页的链接。但是,当URL被解码(导致包含#的URL)时,无法识别该字符并且页面显示不正确。

当我按如下方式创建链接时,%23只会被#取代。这可能是浏览器的行为,但是如何阻止它并使用仍然URL编码的字符串到达​​正确的URL?如果可能的话,我宁愿不使用JavaScript。

<a href="http://aWebsite.com/somePath/somePage %23myParameter">click</a>

浏览器转到:http://aWebsite.com/somePath/somePage #myParameter
我想去:http://aWebsite.com/somePath/somePage %23myParameter

2 个答案:

答案 0 :(得分:2)

听起来你需要再次编码。 &#34;%&#34;将成为&#34;%25&#34;所以你有:

<a href="http://aWebsite.com/somePath/somePage %2523myParameter">click</a>

修改 如果你想要&#34;#&#34;要作为URL的一部分发送到服务器,那么它将不起作用。浏览器将其视为书签,以便从请求的URL中删除它。加载页面后,浏览器将滚动到该书签。

答案 1 :(得分:0)

你需要对它进行编码:

http://example.com/somePath/somePage %2523myParameter

%25将在最终网址<{1}}中解析