- 修改网站根目录下的
index.php文件:实现首页的重定向。 - 配置服务器伪静态规则:实现所有其他页面的重定向。
第一步:修改 index.php 文件(针对首页)
这是最关键的一步,确保用户访问 www.yourdomain.com 时,能被正确跳转到 yourdomain.com。

(图片来源网络,侵删)
- 通过FTP或文件管理器,连接到你的网站服务器。
- 找到并下载网站根目录下的
index.php文件。 - 用代码编辑器(如 Notepad++, VS Code, Sublime Text)打开该文件。
- 在文件的最顶部,在
<?php这行代码的正下方,添加以下重定向代码:
// 强制将www域名跳转到不带www的域名
if (substr($_SERVER['HTTP_HOST'], 0, 4) == 'www.')
{
$redirect_url = 'http://' . substr($_SERVER['HTTP_HOST'], 4) . $_SERVER['REQUEST_URI'];
header('HTTP/1.1 301 Moved Permanently');
header('Location: ' . $redirect_url);
exit();
}
代码解释:
substr($_SERVER['HTTP_HOST'], 0, 4) == 'www.':检查当前访问的域名是否以www.开头。$redirect_url = 'http://' . substr($_SERVER['HTTP_HOST'], 4) . $_SERVER['REQUEST_URI'];:如果是以www.开头,就构建一个新的URL,它会去掉www.,并保留用户请求的路径(如/article/123.html)。header('HTTP/1.1 301 Moved Permanently');:发送一个301永久重定向的HTTP头,这是告诉搜索引擎“这个页面已经永久移动到新位置了”。header('Location: ' . $redirect_url);:跳转到新的URL。exit();:执行完重定向后,立即终止脚本,防止后续代码继续执行。
- 保存文件,并上传回服务器,覆盖原文件。
第二步:配置服务器伪静态规则(针对所有页面)
只修改 index.php 只能处理首页的重定向,用户访问 www.yourdomain.com/news/ 这样的页面时,还需要服务器层面的重定向,这时就需要使用伪静态规则。
根据你的服务器环境,选择对应的规则进行配置。
A. Apache 服务器
织梦的伪静态规则文件通常是 /htaccess.txt 或 .htaccess。

(图片来源网络,侵删)
- 找到网站根目录下的
htaccess.txt文件(如果没有,可以新建一个.htaccess文件)。 - 在文件的开头,添加以下规则:
# 强制将www域名跳转到不带www的域名
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.yourdomain\.com [NC]
RewriteRule ^(.*)$ http://yourdomain.com/$1 [L,R=301]
代码解释:
RewriteEngine On:开启Apache的URL重写引擎。RewriteCond %{HTTP_HOST} ^www\.yourdomain\.com [NC]:设置一个条件,如果当前请求的域名是www.yourdomain.com([NC]表示不区分大小写),则执行下面的规则。RewriteRule ^(.*)$ http://yourdomain.com/$1 [L,R=301]:如果条件满足,将所有请求(^(.*)$匹配任意路径)重定向到http://yourdomain.com/的对应路径,[L,R=301]表示这是最后一次重定向(L),并且是301永久重定向。
重要提示:
请务必将 yourdomain.com 替换成你自己的域名。
- 将文件上传或保存为
.htaccess到网站根目录。
B. Nginx 服务器
Nginx的伪静态规则通常在服务器的配置文件中,或者在织梦后台的“系统” -> “系统基本参数” -> “核心设置” -> “文件命名规则”里指定的文件(但更常见的是直接修改Nginx配置)。
- 找到你的网站配置文件(通常在
/etc/nginx/sites-available/目录下)。 - 在
server块中,添加以下if判断:
server {
listen 80;
server_name www.yourdomain.com; # 将你的www域名写在这里
# 将www域名重定向到主域名
if ($host = 'www.yourdomain.com') {
return 301 http://yourdomain.com$request_uri;
}
# ... 其他配置 ...
# 下面是织梦原有的伪静态规则
location / {
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=$1 last;
break;
}
}
}
代码解释:

(图片来源网络,侵删)
if ($host = 'www.yourdomain.com'):如果主机名是www.yourdomain.com。return 301 http://yourdomain.com$request_uri;:直接返回一个301重定向,跳转到不带www的域名,并保留原始请求路径 ($request_uri)。
重要提示:
- 请务必将
yourdomain.com替换成你自己的域名。 - 你的主域名配置(
server_name yourdomain.com;)也应该存在。 - 修改完Nginx配置后,需要执行
nginx -s reload命令来重新加载配置使其生效。
第三步:检查和确认
完成以上步骤后,你需要验证重定向是否生效。
-
使用浏览器访问:
- 在浏览器地址栏输入
www.yourdomain.com,观察地址栏是否立即变为yourdomain.com,并且页面正常加载。 - 再访问
www.yourdomain.com/some-page.html,看是否能正确跳转到yourdomain.com/some-page.html。
- 在浏览器地址栏输入
-
使用在线工具检查:
- 访问 301 Redirect Checker (
https://www.redirect-checker.org/)。 - 输入
www.yourdomain.com,工具会告诉你它是否被正确重定向到yourdomain.com,以及重定向类型是否为301。
- 访问 301 Redirect Checker (
| 步骤 | 操作 | 作用 | 关键文件/位置 |
|---|---|---|---|
| 1 | 修改 index.php |
确保 www.yourdomain.com 首页跳转到 yourdomain.com |
网站根目录 /index.php |
| 2 | 配置伪静态规则 | 确保所有 www 子页面都跳转到对应主域名页面 |
Apache: .htaccess Nginx: 网站配置文件 |
| 3 | 检查验证 | 确认重定向设置正确无误 | 浏览器、在线工具 |
通过以上三步,你就成功地为织梦网站设置了从 www 到无 www 的永久重定向,这对于网站的SEO和规范化非常有帮助。
