我正在尝试配置 IIS7 (Windows Server 2008),以便我可以使用不包含文件扩展名的 URL(即 somepage.php 将成为http://DOMAIN/somepage)
我正在使用 IIS7 中的 URL 重写工具,并且有以下规则:
匹配网址
Requested URL - Matches the pattern
Using: Wildcards
Pattern: /*
No conditions.
行动
Action Type: Rewrite
Action properties - Rewrite URL: {R:1}.php, append query string
它返回 404 错误。当我使用测试模式工具时,它似乎可以工作,并且我想在文件扩展名之前添加 R:1。任何帮助或想法都将不胜感激!
谢谢!
答案1
您需要将规则更改为使用正则表达式而不是通配符。这是因为 R:1 是正则表达式反向引用。
另外 - 您可能希望您的模式为 (.*),以便它是 R:1(最有可能的是没有括号的 R:0 - R:0 是“整个匹配”的反向引用)
查看http://learn.iis.net/page.aspx/497/user-friendly-url---rule-template/有关 URL 重写的用户友好 URL 部分的大量信息。