Apache .htaccess:重定向到包含主题标签的URL

时间:2018-01-31 16:49:05

标签: apache .htaccess redirect escaping hashtag

网址

  

https://example.com/moved/

     

https://www.example.com/moved/

应将

重定向到网址

  

https://my.example.com/#views/settings.php?id=2

通过.htaccess

这就是我的尝试:

RewriteCond %{HTTP_HOST} ^example.com
RewriteCond %{REQUEST_URI} moved$
RewriteRule (.*)$ https://my.example.com/#views/settings.php?id=2 [R=301,L]

然而似乎没有用。我想原因是我要重定向到的URL中的#hashtag(它标记了.htaccess中的注释)。

如何正确重定向?

1 个答案:

答案 0 :(得分:1)

将您的规则更改为:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^(?:www\.)?example\.com$ [NC]
RewriteRule ^moved/?$ https://my.example.com/#views/settings.php?id=2 [R=301,L,NE,NC]
  • ^(?:www\.)?example\.com$将与www.example.comexample.com
  • 相匹配
  • 标记NE用于重定向网址中没有转义 #
  • 模式moved/?$匹配/moved//moved,从而使尾随斜杠可选。

确保清除浏览器缓存或使用新浏览器进行测试。