IIS ASP.NET URL重写规则 当前请求路径

IIS ASP.NET URL重写规则,如何正确获取到当前请求的路径,因为我的网站程序要适用主网站和网站应用程序两种模式,如果直接用 / 会定位到主网站的根目录,这样网站应用程序就不能正确定位了,然后改用 ./ 就能很好的兼容这两种模式,直接定位到当前提求位置,~/ 测试发现不管用。

<rule name="WuXing">

<match url="^wuxing/(.*?).html" />

<action type="Rewrite" url="./WuXing.aspx?did={R:1}" />

</rule>

1、<action type="Rewrite" url="WuXing.aspx?did={R:1}" />

采用相对路径(无前缀),以当前请求的 URL 路径为基准。

例如:若请求是http://domain/abc/wuxing/123.html,会重写到http://domain/abc/WuXing.aspx?did=123(与wuxing目录同级)。

依赖当前请求的路径层级,若 URL 结构复杂可能出错。

2、<action type="Rewrite" url="./WuXing.aspx?did={R:1}" />

用./明确表示当前目录,逻辑与第一种完全一致,只是更直观地强调 “从当前目录查找”。

例如:同上,请求/abc/wuxing/123.html会重写到/abc/wuxing/WuXing.aspx?did=123(在wuxing目录内查找)。

3、<action type="Rewrite" url="/WuXing.aspx?did={R:1}" />

用/表示服务器根目录(站点级绝对路径),无视当前请求路径。

例如:无论请求是/abc/wuxing/123.html还是/x/y/wuxing/456.html,都会重写到http://domain/WuXing.aspx?did=xxx(直接从网站根目录查找)。

适合固定在根目录的文件,但需确保WuXing.aspx确实在服务器根目录。

4、<action type="Rewrite" url="~/WuXing.aspx?did={R:1}" />

用~表示应用程序根目录(相对于部署的应用程序,而非服务器根目录)。

例如:若应用部署在http://domain/app/,则无论请求是/app/abc/wuxing/123.html,都会重写到http://domain/app/WuXing.aspx?did=123。

最推荐的写法,尤其适合多应用部署的服务器,路径解析更稳定。

优先使用~/(应用根目录),适配性最强;

/适合根目录固定文件;

相对路径(无前缀或./)仅适合简单目录结构,需注意路径层级。

文件名精灵2025年最新版 机器翻译 AI智能
...
批量修改文件名称、文件夹名称

免费使用 功能无限制

全面接入机器自动翻译功能,主流AI大模型智能改名

方便快捷,支持正则表达式、无需安装功能齐全、支持定制无广告、无插件,放心使用。

免费下载
本站中所有的计算器的计算结果仅供参考,本站对此结果的准确性不承担任何责任,实际数额以银行/保险公司/国家相关机构确认的结果为准。
在线客服QQ:543690914,备案号: 苏ICP备15037649号-27。东海县白塔埠镇佳诚电脑经营部版权所有。