Iis 将web.config从一个目录重写到另一个目录
我正在努力将Apache.htaccess重写转换为IIS重写。我想从一个目录重写到另一个目录 示例:如果有人访问URI:Iis 将web.config从一个目录重写到另一个目录,iis,url-rewriting,web-config,Iis,Url Rewriting,Web Config,我正在努力将Apache.htaccess重写转换为IIS重写。我想从一个目录重写到另一个目录 示例:如果有人访问URI:/bookles/MyPDF.pdf,则重写将使用/res/pdf/MyPDF.pdf 这就是我到目前为止所做的: <?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules&g
/bookles/MyPDF.pdf
,则重写将使用/res/pdf/MyPDF.pdf
这就是我到目前为止所做的:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Rewrite for booklets location" enabled="true">
<match url="^booklets/(.*).pdf" />
<action type="Rewrite" url="res/pdf/{R:1}.pdf" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
任何帮助都将不胜感激。在对其进行修补之后,我刚刚从规则中删除了
enabled=“true”
,并将结尾正则表达式添加到url匹配中,现在它可以工作了
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Rewrite for booklets location">
<match url="^booklets/(.*).pdf$" />
<action type="Rewrite" url="res/pdf/{R:1}.pdf" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
除了您自己的答案之外,我建议您在正则表达式扩展之前添加
停止处理
属性和反斜杠点符号:
<rule name="Rewrite for booklets location" stopProcessing="true">
<match url="^booklets/(.*)\.pdf$" ignoreCase="true"/>
<action type="Rewrite" url="res/pdf/{R:1}.pdf"/>
</rule>
如果我想从/bookles/a.pdf重定向到.res/bookles/a.pdf,保持文件夹名称不变,我会给出任何建议