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

.htaccess中多语言子目录301重定向规则正确性确认

.htaccess中多语言子目录301重定向规则正确性确认

Hey there!我看了你当前的.htaccess规则和遇到的问题——阿拉伯语子目录/ar/的页面没触发预期的301重定向,咱们来一步步理清楚问题,然后给出合适的解决方案。

首先分析你现有规则的问题:
你目前针对/ar/子目录的规则是同时检查非www域名和请求路径以/ar/开头才会触发重定向,但如果用户直接访问的是带www的域名,或者已经使用HTTPS协议,这些条件就不满足,自然不会执行重定向。而且规则的顺序安排也导致部分场景下规则无法被触发。

接下来是更简洁且覆盖所有场景的正确配置方案:我们不需要单独针对/ar/子目录写规则,只要确保所有请求统一跳转到HTTPS + www域名,系统会自动保留原请求的路径(包括/ar/子目录的内容):

RewriteEngine On

# 1. 将所有HTTP请求跳转到HTTPS(无论是否带www)
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]

# 2. 将非www的HTTPS请求跳转到带www的HTTPS域名,自动保留所有请求路径(含/ar/子目录)
RewriteCond %{HTTP_HOST} ^arianamedicaretour\.com$ [NC]
RewriteRule ^ https://www.arianamedicaretour.com%{REQUEST_URI} [L,R=301,NE]

为什么这个配置能解决你的问题?

  • 第一条规则先把所有HTTP请求(不管是www还是非www)都转到HTTPS协议,确保加密访问的基础要求。
  • 第二条规则专门处理非www的HTTPS请求,跳转到带www的同域名,并且通过%{REQUEST_URI}自动保留原请求的完整路径。比如用户访问http://arianamedicaretour.com/ar/some-page,会先被转到https://arianamedicaretour.com/ar/some-page,接着再转到https://www.arianamedicaretour.com/ar/some-page,完美覆盖你需要的/ar/子目录重定向场景。

如果你之后需要针对/ar/子目录做特殊的旧路径跳转(比如从其他过时路径转向/ar/),可以在上述基础上添加额外规则,但就当前描述的问题来看,上面的简化配置已经能解决ar页面不重定向的核心问题了。

备注:内容来源于stack exchange,提问作者ariana medicare

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.17 11:29:37