在 IIS 8 中实现伪静态(URL 重写)主要有以下几种方法,适用于不同的应用场景:
这是最推荐的方法,功能强大且配置灵活,支持复杂的重写规则。
安装 URL 重写模块
如果未安装,需先下载并安装:Microsoft URL Rewrite Module 2.0 for IIS
安装后在 IIS 管理器中会出现 “URL 重写” 图标。
配置重写规则
匹配 URL:^(\w+)\.html$
(正则表达式)
重写为:index.php?id={R:1}
打开网站的 “URL 重写” 功能,点击 “添加规则”,根据需求选择规则模板(如 “空白规则”)。
配置示例(将 xxx.html
重写为 index.php?id=xxx
):
匹配 URL:^(\w+)\.html$
(正则表达式)
重写为:index.php?id={R:1}
也可直接编辑网站根目录下的 web.config
文件,手动添加规则:
如果网站基于 ASP.NET 开发,可利用其内置的路由机制实现伪静态,无需依赖 URL 重写模块。
在 Global.asax
文件中注册路由规则
早期 IIS 版本常用此方法,IIS 8 仍兼容部分组件:
ISAPI_Rewrite:第三方组件,功能类似 URL 重写模块,支持 .htaccess
风格的规则。
Helicon Ape:模拟 Apache 的 .htaccess
重写规则,适合从 Apache 迁移的网站。
需在 IIS 中启用对应的 ISAPI 筛选器,并配置规则文件(如 .htaccess
)。
如果是 PHP 网站(如 WordPress、Discuz),除了 URL 重写模块,还需确保:
安装并启用 FastCGI 模块(处理 PHP 请求)。
在 web.config
中添加针对 PHP 的重写规则,例如 WordPress 的默认规则
推荐优先使用 URL 重写模块:原生支持、功能完善,适合大多数场景。
ASP.NET 应用:优先考虑内置路由,减少对模块的依赖。
迁移自 Apache 的网站:可尝试 Helicon Ape 兼容 .htaccess
规则。
配置后需重启网站或应用池,确保规则生效,可通过 IIS 自带的 “测试模式” 验证规则是否正确。
版权所有 © 2012-2026 光谷科技 Corporation.