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

如何用.htaccess实现无www前缀重定向及域名访问异常处理

.htaccess域名重定向与异常页面修复方案

刚好处理过不少类似的.htaccess配置问题,这就给你一步步讲清楚:

1. 重定向至不带www前缀的域名

要实现把所有带www的访问统一跳转到不带www的域名,你需要用到Apache的mod_rewrite模块(绝大多数主机服务商都默认开启了这个模块)。在网站根目录的.htaccess文件里添加以下规则即可:

# 开启URL重写引擎
RewriteEngine On

# 匹配带www的域名,永久重定向到不带www的版本
RewriteCond %{HTTP_HOST} ^www\.icpcc\.example\.org$ [NC]
RewriteRule ^(.*)$ http://icpcc.example.org/$1 [L,R=301]

简单解释下规则里的参数:

  • [NC]:不区分域名的大小写,避免因为用户输入大写字母导致规则失效
  • R=301:表示永久重定向,这对SEO友好,搜索引擎会更新它的索引记录
  • [L]:告诉服务器这是最后一条规则,匹配到后就停止执行后续规则

2. 修复不带www域名显示“come back page”的问题

你现在遇到的情况是www域名能正常访问,但不带www的域名跳转到异常页面,大概率是因为不带www的请求没有被正确指向网站根目录,或者.htaccess里存在错误的规则拦截了这些请求。解决方法很简单,直接通过重定向把所有不带www的请求转到正常的域名上即可,有两种方案可选:

方案一:统一到www域名(保持现有正常访问的域名)

RewriteEngine On

# 匹配不带www的域名,重定向到带www的版本
RewriteCond %{HTTP_HOST} ^icpcc\.example\.org$ [NC]
RewriteRule ^(.*)$ http://www.icpcc.example.org/$1 [L,R=301]

方案二:统一到不带www域名(和第一个问题的需求一致)

直接使用第一个问题里的规则就行,这样所有访问都会跳转到不带www的域名,自然就不会出现异常页面了。

添加完规则后,记得清空浏览器缓存再测试,避免缓存旧的重定向记录影响结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 07:50:14