簡體   English   中英

使用mod_rewrite將URL中的%23替換為#

[英]Replacing %23 in URL with # using mod_rewrite

我在linux上的Apache之后的tomcat中有一個GWT應用程序。 這使用從URL傳遞的參數來維護URL的狀態入站。 參見例如:

https://www.example.com/#anchor1?param1=foo&param2=bar

我使用了第三方警報程序包,該程序包將URL推送到客戶端,但是在將URL編碼為

https://www.example.com/%23anchor1?param1=foo&param2=bar

這表示我收到404錯誤。

我在高處尋找解決方案,但沒有一個有效的明確答案。

據我所知,我需要一個簡單的規則,用URL中的#替換所有出現的%23,但似乎尚無明確的共識(相信我已經嘗試了一切)。

要執行此操作的mod_rewrite規則是什么?

提前致謝。

到mod_rewrite看到它時,#被解碼。 普通#永遠不會發送到服務器,因此很簡單:

RewriteRule ^(.*#.*) /$1 [R,NE]

我假設瀏覽器需要在#號之后的內容,因此您必須重定向。 “ NE”阻止#在出局時被編碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM