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

如何通过.htaccess基于域名实现网页重定向

如何通过.htaccess基于域名实现网页重定向

嗨,这个问题太典型了!普通的Redirect指令确实会对服务器上所有域名生效,没法区分不同站点。不过咱们可以用Apache的mod_rewrite模块来搞定基于域名的精准重定向,灵活性拉满~

直接上可行的.htaccess配置代码,你可以直接复制到你的文件里:

# 先开启Rewrite引擎(如果没开的话)
RewriteEngine On

# 处理 www.example.com 的 page1 重定向到 page2
RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
RewriteRule ^page1$ /page2 [R=301,L]

# 处理 www.example.org 的 page1 重定向到 page3
RewriteCond %{HTTP_HOST} ^www\.example\.org$ [NC]
RewriteRule ^page1$ /page3 [R=301,L]

我给你拆解下关键部分的作用:

  • RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]:这条是条件判断,只匹配请求来自www.example.com的情况。[NC]是不区分大小写的意思,就算用户输入WWW.EXAMPLE.COM也能正常匹配。
  • RewriteRule ^page1$ /page2 [R=301,L]:当上面的条件满足时,就把page1的请求重定向到page2。R=301代表永久重定向(适合长期的URL变更,对SEO友好),如果只是临时测试可以改成R=302;L表示这是最后一条规则,匹配到后就不再执行后面的规则了,避免冲突。

如果你的站点需要同时支持带www和不带www的域名(比如example.com和www.example.com都要生效),可以把条件改成这样:

RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$ [NC]

这样不管有没有www前缀都能匹配到。

最后提醒下:确保你的服务器已经启用了mod_rewrite模块,大多数虚拟主机默认是开启的,如果没开的话,可能需要联系主机服务商或者自己在Apache的配置文件里启用它。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.23 09:44:51