在 mod_rewrite 上,这里有一个小但令人困惑的 htaccess 问题。我们需要转发: http ://www.mydomain.com/ladies-boots/?shoesize=43&calfwidth=K 到 http://www.mydomain.com/ladies-boots/#nogo&somevar=1&shoesize=43&calfwidth=K
我们的代码(感谢另一个 Stackoverflow 帖子)是:
RewriteCond %{QUERY_STRING} ^shoesize=([0-9]+)\&calfwidth=([A-Z])$
RewriteRule ^ladies-boots/$ http://www.mydomain.com/ladies-boots/#nogo&somevar=1&shoesize=%1&calfwidth=%2? [R=301,L]
上面的方法很好,除了哈希 # 标记被 Apache 转义,它将 URL 写入为 %23 而不是 #。
有什么办法可以解决这个问题吗?对于某些 Javascript/非 SE 友好的功能,我确实需要哈希标记,并且如果没有有效的哈希标记,上述 URL 将无法使用。
非常感谢!