htaccess RewriteRule,带有硬编码的特殊字符

时间:2014-06-15 18:10:50

标签: .htaccess mod-rewrite

有很多类似的问题,但它们似乎都没有处理目的地中的硬编码字符串。我只是想将子域的任何请求重定向到Google Group,如下所示:

RewriteEngine On
Options +FollowSymlinks
RewriteBase /

RewriteCond %{HTTP_HOST} gg.domain.com$
RewriteRule ^(.*)$ https://groups.google.com/forum/#!forum/myforum

我认为问题是字符被解释为注释,因此该行被忽略。我查看了documentation for rewrite flags,我看到的唯一可能相关的选项是[B]和[NE],两者似乎都没有帮助,因为我认为它们只能用于字符串转换。

1 个答案:

答案 0 :(得分:0)

您的网址中的#字符不应被视为评论(对我来说不是)。如果它被视为这样,你可以逃脱它,让它失去它的特殊含义。转义是在角色之前放置\的行为。除此之外,您需要[NE]标志来阻止#进行ascii编码。

RewriteCond %{HTTP_HOST} gg.domain.com$
RewriteRule ^(.*)$ https://groups.google.com/forum/\#!forum/myforum [NE]