我很难将旧的 .htaccess 重写规则转换为新的 IIS 规则,所以我想知道是否有人可以给我指明正确的方向。以下是我想要重写的一些示例 URL。
http://example.org.uk/about/
Rewrites to
http://example.org.uk/about/about.html
-----------
http://example.org.uk/blog/events/
Rewrites to
http://example.org.uk/blog/events.html
-----------
http://example.org.uk/blog/2010/11/foo-bar
Rewrites to
http://example.org.uk/blog/2010/11/foo-bar.html
目录和文件名是通用的,可以是任何名称。如有任何帮助,我们将不胜感激。
答案1
陷阱:
匹配 URL 仅在主机尾部的斜杠后匹配 - (.*)很常见,如果要重复使用捕获,则会变成 {R:1}。
主机/域名匹配是在条件中使用 {HTTP_HOST} 完成的。条件变为 {C:#};多个条件可能会造成混淆/复杂,我不确定那里的编号是如何工作的。
附加查询字符串通常是一个不错的选择。
看起来您想保留主机标头,并在响应标头中重写主机。前者是 applicationHost.config 设置,或 appcmd 更改;后者在 GUI 中,或者也可以在 .config 文件中手动触摸,或使用 appcmd。