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

.htaccess非/eng/路径重定向至/eng/ 解决循环问题(本地+线上)

重定向循环问题修复方案(适配本地/线上)

问题根源

循环是因为外部请求被重定向到/eng/路径后,内部重写规则又将其转成不带/eng/的路径,而这个内部转换后的请求会再次触发重定向规则,形成死循环:

  1. 外部请求/ecom-book/genre.php → 重定向到/ecom-book/eng/genre.php
  2. 服务器发现/ecom-book/eng/genre.php不存在,内部重写为/ecom-book/genre.php
  3. 重定向规则再次匹配这个内部请求,循环重复

修复后的完整.htaccess代码

RewriteEngine on

# 静态资源直接放行,不参与重定向
RewriteCond %{THE_REQUEST} !\.(css|js|jpg|jpeg|png|gif)$ [NC]
# 仅对浏览器发送的原始请求中不带/eng/的路径执行301重定向
RewriteCond %{THE_REQUEST} ^GET\ /ecom-book/(?!eng/)(.*)\ HTTP
RewriteRule ^ecom-book/(.*)$ /ecom-book/eng/$1 [R=301,L,NC]

# 内部重写:当/eng/下的路径不是实际文件/目录时,映射到ecom-book根目录对应文件
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ecom-book/eng/(.*)$ /ecom-book/$1 [L,QSA]

# 产品URL美化规则(适配子目录结构)
RewriteRule ^ecom-book/product/(.*)/(.*)$ /ecom-book/product.php?id=$1&name=$2 [L,QSA]

# 错误页面配置(保留原设置)
ErrorDocument 403 /cgi-sys/403_def.html
ErrorDocument 404 /cgi-sys/404_def.html
ErrorDocument 500 /cgi-sys/500_def.html
ErrorDocument 502 /cgi-sys/502_def.html
ErrorDocument 503 /cgi-sys/503_def.html
ErrorDocument 504 /cgi-sys/504_def.html

# HTTPS强制跳转(保留原设置)
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-SSL} !on
RewriteCond %{HTTP_HOST} ^example\.in$ [OR]
RewriteCond %{HTTP_HOST} ^www\.example\.in$
RewriteRule ^/?$ "https\:\/\/example\.in\/" [R=301,L]

<IfModule mime_module>
  AddHandler application/x-httpd-ea-php81___lsphp .php .php8 .phtml
</IfModule>
# php -- END cPanel-generated handler, do not edit

关键修改说明

  • 避免循环核心:用%{THE_REQUEST}(浏览器原始请求,不受内部重写影响)替代%{REQUEST_URI}判断重定向条件,确保仅对外部请求执行重定向,内部重写后的请求不会触发规则
  • 路径匹配修正:内部重写规则添加ecom-book/前缀,确保子目录下路径映射准确
  • 兼容性优化:添加NC标记忽略大小写,覆盖更多请求场景

本地/线上适配调整

  • 本地环境(localhost/ecom-book):无需修改,规则中的/ecom-book/前缀自动匹配本地子目录
  • 线上环境(若ecom-book为网站根目录):移除所有规则中的/ecom-book/前缀,例如将RewriteRule ^ecom-book/(.*)$ /ecom-book/eng/$1改为RewriteRule ^(.*)$ /eng/$1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 12:41:03