15
我試圖在目標包含片段標識符部分的情況下發出重定向。 我試圖與這條規則:對包含散列標記的目標的Apache重寫規則
RewriteRule ^/foo/bar/([^/]+)/(.*)$ /cgi/script#foobar::$1.$2 [R,L]
然而#
轉化爲%23
和Web應用程序不能正確地分析這個網址。我如何強制apache保持#
角色?發現
我試圖在目標包含片段標識符部分的情況下發出重定向。 我試圖與這條規則:對包含散列標記的目標的Apache重寫規則
RewriteRule ^/foo/bar/([^/]+)/(.*)$ /cgi/script#foobar::$1.$2 [R,L]
然而#
轉化爲%23
和Web應用程序不能正確地分析這個網址。我如何強制apache保持#
角色?發現
解決方法:有不與mod_rewrite的逸出網址選項:
https://httpd.apache.org/docs/2.2/rewrite/flags.html#flag_ne
添加[NE]標誌解決了這個問題。
有沒有辦法*不追加查詢字符串?使用這種方法,我得到'/ myUrl?123'重定向到'/ newUrl#hash?123'。我知道有'QSA'的標誌,但我需要找到相反的。 – 2016-02-03 00:06:09
@SimonEast你在Apache 2.4上有'QSD'標誌。或者在'RewriteRule'替換的末尾添加一個'?'。 – MrWhite 2016-09-19 08:56:31
太棒了,謝謝@ w3dk – 2016-09-20 01:47:33