這是我第一次遇到這件事,我已經與Apache合作了13年。迷失在RewriteRule翻譯
我有這樣的重寫規則:
重寫規則^ /標籤/(.*)/$ /index.php?a=tagged &標籤= $ 1
很簡單,不是嗎? 以下是處理:如果「標記」的值包含urlencoded字符 - 它們只是在翻譯中丟失。走了,再見!
如果我輸入這樣的網址:/ tagged/c%2B%2B /這是urlencode C++ 的方法,那麼index.php會收到tags = c 的值。
當我在這樣的URL輸入c%直接2B%2B: /index.php?a=tagged &標籤= C%2B%2B那麼如果一切正常,高興地發現我的帖子標記C++
這是一個已知的問題嗎?什麼是解決方法?
謝謝。我查看了$ _SERVER變量,它看起來像我可以使用$ _SERVER ['REQUEST_URI']這是原始URL,使用urlencoded值。有趣的是,在lighttpd服務器上,重寫規則不會導致這種種族滅絕。 – Dmitri 2011-04-09 23:09:03