如何创建以'#'开头的重写规则

时间:2017-08-30 10:54:04

标签: asp.net iis

我正在尝试在web.config文件中创建一个以"#"开头的重写规则。字符。

我有以下网址" www.example.com/#abcd = http://www.example.com/myfolder/mypage"。此网址需要重定向到" www.example.com/myfolder/mypage.html"。

我已经尝试了以下规则,但似乎没有一个正常工作。

<rule name="myRedirect" stopProcessing="true" patternSyntax="ExactMatch" >
    <match url="##abcd=http://www.example.com/myfolder/mypage" ignoreCase="false"/>
    <action type="Redirect" url="myfolder/mypage.html" appendQueryString="true" redirectType="Permanent" />
  </rule>

以及

<rule name="myNewRedirect" stopProcessing="true">
        <match url="(.*)"/>
        <conditions>
            <add input="{QUERY_STRING}" pattern="cbp=http://www.example.com/myfolder/mypage" />
        </conditions>
        <action type="Redirect" url="/myfolder/mypage.html" redirectType="SeeOther"/>
      </rule>

但以上都没有奏效。

1 个答案:

答案 0 :(得分:1)

无法根据哈希字符串执行重定向。浏览器不会将该部分(哈希后的所有内容)传输到服务器。

它被称为片段标识符,仅限客户端。除非您使用某些浏览器实现(或软件)将URL的这一部分发送到服务器,否则无法使用任何语言。参考:http://en.wikipedia.org/wiki/Fragment_identifier