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

Apache请求转发问题:无跳转实现路径映射(仅可操作.htaccess)

Apache内部重写实现URL映射(无重定向)

你之前的规则仅匹配了根路径(^$),所以只有访问站点根目录时会生效,带URI的路径(比如/example)不会被处理。同时需要添加条件避免重写循环,以及排除真实存在的文件/目录,确保只对不存在的路径做内部映射。

将.htaccess内容替换为以下规则:

RewriteEngine On

# 排除已经指向/site/的请求,防止循环
RewriteCond %{REQUEST_URI} !^/site/
# 排除实际存在的文件
RewriteCond %{REQUEST_FILENAME} !-f
# 排除实际存在的目录
RewriteCond %{REQUEST_FILENAME} !-d

# 把所有请求内部重写到/site/路径下
RewriteRule ^(.*)$ /site/$1 [L]

规则说明:

  • RewriteCond %{REQUEST_URI} !^/site/:确保已经访问/site/开头的请求不会被再次重写,避免无限循环。
  • !-f和!-d:如果用户请求的是服务器上真实存在的文件或目录,直接返回原内容,不进行重写(比如访问/favicon.ico这类真实文件时不会被映射到/site/favicon.ico)。
  • RewriteRule ^(.*)$ /site/$1 [L]:捕获请求路径中的所有内容($1),内部映射到/site/$1,[L]表示这是最后一条匹配的规则,停止后续重写处理。

验证效果:

  • 访问 site.com → 内部显示 site.com/site 的内容(地址栏不变)
  • 访问 site.com/example → 内部显示 site.com/site/example 的内容(地址栏不变)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 15:20:58