我已经制定了一些IIS重写规则,并且一切正常。但是我觉得我可以合并它们。
这是我的规则:
<rule name="Blog - Advice - root" patternSyntax="ExactMatch" stopProcessing="true">
<match url="advice" />
<action type="Rewrite" url="https://mysite.wpengine.com/advice" />
</rule>
<rule name="Blog - Advice - root (with slash)" patternSyntax="ExactMatch" stopProcessing="true">
<match url="advice/" />
<action type="Rewrite" url="https://mysite.wpengine.com/advice" />
</rule>
<rule name="Blog - Advice" stopProcessing="true">
<match url="^advice/?(.*)" />
<action type="Rewrite" url="https://mysite.wpengine.com/advice/{R:1}" />
</rule>
我想匹配以下示例:
/advice
/advice/
(应使用斜杠重写)/advice/sdfsdf
/advice/sdfsdf/
(应使用斜杠重写)/advice/sdfdsf/sdfds
可以使用1条(或2条)路线吗?
例如,如果我遗漏第二个,例如Wordpress(我要重写的站点),它将进行301重定向到URL 而没有,并且由于URL再次更改。 (所以我以mysite.wpengine.com/advice
结尾,这是错误的。)
因此,我需要确保所有重写操作均不涉及目标站点端的重定向。
非常感谢:)
答案 0 :(得分:0)
这将照顾到所有人。
<rule name="Blog - Advice - ALL" stopProcessing="true">
<match url="^advice(?:(?:/?(?:[^/]+))+)?" />
<action type="Rewrite" url="https://mysite.wpengine.com/{R:0}" />
</rule>