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

.htaccess重定向结果不符合预期,请求修正规则协助

解决多语言站点目录到独立域名的重定向问题

你的.htaccess规则问题很明确:直接拼接%{REQUEST_URI}会把原URL里的语言目录前缀(比如/sv)也带到新域名里,导致出现example.se/se这种多余路径。

把规则改成下面这样就能解决:

<IfModule mod_rewrite.c>
RewriteEngine on
# 匹配主域名(支持带/不带www,不区分大小写)
RewriteCond %{HTTP_HOST} ^(www\.)?nofairytales\.nl$ [NC]
# 匹配以/sv开头的请求路径,捕获前缀后的内容
RewriteCond %{REQUEST_URI} ^/sv(/.*)?$ [NC]
# 去掉/sv前缀,将剩余路径拼到新域名后
RewriteRule ^sv(/.*)?$ http://www.nofairytales.se$1 [L,R=301]
</IfModule>

关键修改说明:

  • 把模块判断从mod_headers.c改成mod_rewrite.c——毕竟我们用的是URL重写规则,属于mod_rewrite模块
  • RewriteRule里用^sv(/.*)?$匹配路径,捕获/sv后面的所有内容(包括空路径),用$1引用这部分内容拼到新域名后,彻底去掉多余的语言目录前缀
  • 如果是测试阶段,建议把R=301改成R=302(临时重定向),确认规则生效后再换回301(永久重定向,更利于SEO)

如果还有其他语言需要重定向,比如要把nofairytales.nl/se/post转到nofairytales.se/post,直接复制这套规则,把sv换成se,域名对应调整即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 16:10:26