我正在尝试在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>
但以上都没有奏效。
答案 0 :(得分:1)
无法根据哈希字符串执行重定向。浏览器不会将该部分(哈希后的所有内容)传输到服务器。
它被称为片段标识符,仅限客户端。除非您使用某些浏览器实现(或软件)将URL的这一部分发送到服务器,否则无法使用任何语言。参考:http://en.wikipedia.org/wiki/Fragment_identifier