You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在IIS中为PHP网站配置URL重写,隐藏路径实现短URL展示

原有规则失效原因
  1. IIS URL重写模块的匹配规则仅校验域名后的路径部分,不需要写入域名前缀,你配置的^dual-rebama.ndtv.com/[-a-zA-Z0-9_]+/[a-z]+/([a-z]+)规则无法匹配任何正常请求
  2. 规则逻辑完全反向:你需要实现的是「用户请求短路径时,后台映射到实际的长路径」,而原有规则是匹配长路径后重写到短路径,和需求完全相反
  3. 你配置的HTTP Redirect会触发浏览器3xx跳转,直接修改地址栏显示的URL,和重写隐藏路径的逻辑冲突,必须先删除
实现步骤

前置检查

确保你已经安装IIS URL重写模块,未安装的话先下载对应版本安装,完成后重启IIS管理器。

步骤1:删除原有HTTP Redirect配置

进入站点的「HTTP重定向」功能,删除所有已配置的重定向规则,保存后重启站点。

步骤2:配置路径隐藏重写规则

进入站点的「URL重写」功能,点击右侧「添加规则」,选择空白规则后按以下参数配置:

  • 规则名称:URL_Shortening
  • 匹配URL设置
    • 请求URL:与模式匹配
    • 使用:正则表达式
    • 模式:^([a-zA-Z0-9_-]+)(.*)$
    • 忽略大小写:是
  • 条件(可选,避免静态资源被误重写,建议添加)
    • 添加第一条条件:
      • 条件输入:{REQUEST_FILENAME}
      • 检查是否为:不是文件
    • 添加第二条条件:
      • 条件输入:{REQUEST_FILENAME}
      • 检查是否为:不是目录
  • 操作设置
    • 操作类型:重写
    • 重写URL:/project_name/folder/{R:1}{R:2}(替换project_name和folder为你实际的二级、三级目录名)
    • 附加查询字符串:是
    • 停止处理后续规则:是
      配置完成后点击右上角「应用」,重启站点生效。

步骤3:配置根目录自动跳转(可选)

如果需要用户访问根域名example.com时自动跳转至example.com/login,额外添加一条规则:

  • 规则名称:Root_Redirect
  • 匹配URL设置
    • 模式:^$
    • 忽略大小写:是
  • 操作设置
    • 操作类型:重定向
    • 重定向URL:/login
    • 重定向类型:301(永久)
    • 停止处理后续规则:是
      配置完成后应用并重启站点即可。

内容的提问来源于stack exchange,提问作者Eashan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 23:06:03