【问题标题】:.htaccess redirect with fragment.htaccess 使用片段重定向
【发布时间】:2010-03-11 12:10:58
【问题描述】:

我需要使用 .htaccess 向带有片段(也称为锚点)的 URL 发出重定向,但它会自动转义 #。

目前我想要一个硬编码的片段,但为了其他人,如果你也知道如何从 URL 中获取它,那就太好了。

理想情况下,我也应该能够使用 QSA。

例如:

http://www.exameple.com/test?foo=bar

应该变成

1) http://www.example.com/?foo=bar#MYVALUE

或从 url 中获取片段:

2) http://www.example.com/?foo=bar#test

我的(非工作)代码如下所示:

RewriteRule /test http://www.example.com/#MYVALE [R,QSA]

【问题讨论】:

    标签: apache .htaccess anchor fragment-identifier


    【解决方案1】:

    我想我已经弄明白了……

    RewriteCond %{HTTPS} off
    RewriteCond %{REQUEST_URI} /test
    RewriteRule ^test/?(.*)$ $1 [C]
    RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1?%{QUERY_STRING}#MYVALUE [NE,L,R]
    
    RewriteCond %{HTTPS} on
    RewriteCond %{REQUEST_URI} /test
    RewriteRule ^test/?(.*)$ $1 [C]
    RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1?%{QUERY_STRING}#MYVALUE [NE,L,R]
    

    对于 HTTP 和 HTTPS 一次执行一次有点糟糕 - 我会看看我是否能找到解决方法。

    【讨论】:

      猜你喜欢
      • 2012-01-23
      • 1970-01-01
      • 1970-01-01
      • 2010-10-19
      • 2011-03-01
      • 2014-09-13
      相关资源
      最近更新 更多