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

如何用.htaccess仅重定向/web/路径至子域名?现有规则全站重定向

问题分析与修正方案

原规则的核心错误在于把路径匹配写到了HTTP_HOST的条件里——HTTP_HOST仅包含请求的域名(比如domain.es),不包含路径部分(比如/web/something),所以原规则中的Host条件永远无法匹配正常请求,导致规则逻辑失效。加上RewriteRule匹配了所有路径^(.*)$,最终造成全站被错误重定向。

修正后的.htaccess规则

Options +FollowSymlinks -MultiViews
RewriteEngine on

# HTTP 请求:仅重定向 /web/ 开头的路径到 sub.domain.es
RewriteCond %{HTTP_HOST} ^(www\.)?domain\.es$ [NC]
RewriteCond %{SERVER_PORT} =80
RewriteRule ^web/(.*)$ http://sub.domain.es/web/$1 [R=302,L]

# HTTPS 请求:仅重定向 /web/ 开头的路径到 sub.domain.es
RewriteCond %{HTTP_HOST} ^(www\.)?domain\.es$ [NC]
RewriteCond %{SERVER_PORT} =443
RewriteRule ^web/(.*)$ https://sub.domain.es/web/$1 [R=302,L]

关键说明

  • 精准路径匹配:RewriteRule中的^web/(.*)$专门匹配以/web/开头的路径,仅对这类路径执行重定向,其他路径不受影响。
  • 临时重定向测试:先用302临时重定向验证规则是否生效,确认无误后再改为301永久重定向,避免浏览器缓存错误规则。
  • 清除缓存:如果之前有301缓存记录,测试前需清除浏览器缓存或使用无痕模式访问。

内容的提问来源于stack exchange,提问作者Jota Javier Gonzalez Garcia

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 13:01:03