Gib*_*boK 11 iis-7 url-rewriting iis-7.5
我使用IIS 7.5和URL重写.
我有一个具有以下文件层次结构的网站:
webroot
webroot/LegacySite
Run Code Online (Sandbox Code Playgroud)
webroot /和legacy /都是IIS中的独立App-Folders.
我需要重写我的网址:
在我的Web.Conf(在webroot文件夹下)不能正常工作,你能指出我缺少的东西吗?
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="MyRole" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTP_HOST}" pattern="^mysite.com" />
<add input="{PATH_INFO}" pattern="^\LegacySite\" negate="true" />
</conditions>
<action type="Rewrite" url="\LegacySite\{R:0}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
Run Code Online (Sandbox Code Playgroud)
Mar*_*urg 17
以下应该有效:
<rule name="MyRole" stopProcessing="true">
<match url="LegacySite/(.*)" />
<conditions>
<add input="{HTTP_HOST}" pattern="^mysite.com$" />
</conditions>
<action type="Rewrite" url="/{R:1}" appendQueryString="true" />
</rule>
Run Code Online (Sandbox Code Playgroud)
您可能希望删除检查主机名的条件.这真的很重要吗?您是否有任何其他域名绑定到您不希望重定向发生的网站?这似乎没必要.你可能只需要:
<rule name="MyRole" stopProcessing="true">
<match url="LegacySite/(.*)" />
<action type="Rewrite" url="/{R:1}" appendQueryString="true" />
</rule>
Run Code Online (Sandbox Code Playgroud)
我已添加appendQueryString="true"将任何(可选)查询字符串参数传递给重写的URL.
| 归档时间: |
|
| 查看次数: |
18413 次 |
| 最近记录: |