核心原理
这个过程的核心是利用 Nginx 或 Apache 服务器的 虚拟主机(Virtual Host) 功能,通过 rewrite 规则,将访问独立域名的请求,重新“映射”到网站根目录下的某个二级目录。

假设场景:
- 主站域名:
www.yourdomain.com - 二级目录:
www.yourdomain.com/news/ - 要绑定的独立域名:
news.yourdomain.com
我们的目标是:当用户访问 news.yourdomain.com 时,服务器实际上会显示 www.yourdomain.com/news/ 目录下的内容,但用户浏览器地址栏始终显示 news.yourdomain.com。
第一步:服务器环境配置
这是最关键的一步,你需要修改服务器的配置文件,请根据你的服务器类型选择对应的操作。
使用 Nginx 服务器 (推荐)
Nginx 的 rewrite 功能非常强大,配置相对简单。

-
登录你的服务器,找到 Nginx 的配置文件,通常位于
/etc/nginx/nginx.conf或/etc/nginx/sites-available/目录下的你的站点配置文件(yourdomain.com)。 -
编辑配置文件,在
server块中添加以下rewrite规则。server { listen 80; server_name news.yourdomain.com; # 你要绑定的二级域名 # 将所有请求重写到二级目录 # ^(.*)$ 表示匹配所有路径 # /news/ 是你的二级目录 # $1 表示保留原始路径的参数 rewrite ^(.*)$ /news/$1 last; # 如果你的二级目录也需要支持 SSL (HTTPS),请添加以下配置 # listen 443 ssl; # ssl_certificate /path/to/your/cert.pem; # ssl_certificate_key /path/to/your/key.pem; # ... 其他配置 ... } -
保存配置文件。
-
重启 Nginx 服务,使配置生效。
(图片来源网络,侵删)sudo systemctl restart nginx
使用 Apache 服务器
Apache 的配置通常通过 .htaccess 文件完成,更灵活,不需要修改主配置文件。
-
通过 FTP 或 SSH,登录到你的网站根目录(
/public_html或/www)。 -
找到或创建
.htaccess文件,如果文件存在,直接编辑;如果不存在,新建一个。 -
在
.htaccess文件中添加以下mod_rewrite规则。<IfModule mod_rewrite.c> RewriteEngine On # 设置绑定的二级域名 RewriteCond %{HTTP_HOST} ^news\.yourdomain\.com [NC] # 设置要指向的二级目录 RewriteRule ^(.*)$ /news/$1 [L] </IfModule>RewriteCond %{HTTP_HOST} ^news\.yourdomain\.com [NC]:这条规则判断访问的域名是否是news.yourdomain.com([NC]表示不区分大小写)。RewriteRule ^(.*)$ /news/$1 [L]:如果域名匹配,就将所有请求重写到/news/目录下,[L]表示这是最后一条规则,不再匹配后续规则。
-
保存
.htaccess文件,通常情况下,Apache 会自动加载,无需重启。
第二步:DNS 解析配置
确保你的二级域名已经正确解析到服务器的 IP 地址。
- 登录你的域名注册商的控制面板(如阿里云、腾讯云、GoDaddy 等)。
- 找到 DNS 解析管理。
- 添加一条 A 记录 或 CNAME 记录。
- 类型:
A记录 - 主机记录:
news(如果你想绑定news.yourdomain.com) - 记录值: 你服务器的公网 IP 地址
- TTL: 默认即可
- 类型:
等待几分钟到几小时,DNS 生效后,news.yourdomain.com 就能访问到你的服务器了。
第三步:织梦CMS后台设置
现在服务器已经知道如何处理这个新域名了,接下来需要在织梦后台进行配置,确保织梦能正确处理这个“伪独立”站点的路径。
-
登录织梦后台 (
www.yourdomain.com/dede/)。 -
进入“系统” -> “系统基本参数” -> “核心设置”。
-
修改以下关键参数:
- 网站根目录: 确保这里填写的是你的网站在服务器上的绝对路径,
/www/wwwroot/yourdomain.com,这步很重要,很多路径问题都源于此。 - 网站网址: 这里仍然是你的主站域名
http://www.yourdomain.com。 - 主页链接: 同上,
http://www.yourdomain.com。
- 网站根目录: 确保这里填写的是你的网站在服务器上的绝对路径,
-
进入“系统” -> “核心设置” -> “添加新变量”,这是实现独立域名的核心技巧。
- 变量名称:
cfg_news_domain(可以自定义,方便识别) - 变量类型:
文本 - 变量值:
http://news.yourdomain.com(你绑定的独立域名,必须包含协议 http:// 或 https://) - 所属组:
站点参数
- 变量名称:
-
保存设置。
-
生成全站,这是最容易被忽略但至关重要的一步!
- 进入“首页” -> “HTML更新” -> “生成首页”。
- 进入“栏目” -> “批量生成HTML” -> “选择所有栏目” -> “开始生成”。
- 进入“文档” -> “批量维护” -> “一键生成所有HTML”。
为什么要生成全站? 因为织梦在生成静态页面(HTML)时,会读取你刚刚设置的变量
cfg_news_domain,如果只是修改了参数而没有重新生成,页面中的链接(如文章链接、栏目链接)可能还是指向主站的,生成后,所有由织梦自动生成的链接都会正确地指向你的新域名。
第四步:验证与测试
- 清空浏览器缓存,或者使用无痕/隐私模式访问。
- 在浏览器中输入
news.yourdomain.com。 - 检查页面是否正常显示,样式和图片是否错位。
- 点击页面上的任意文章或栏目链接,观察浏览器地址栏是否仍然是
news.yourdomain.com,并且能正常跳转。
如果一切正常,恭喜你,你已经成功将织梦的二级目录绑定到了独立域名!
常见问题与解决方案
-
问题1:页面显示404 Not Found。
- 原因: 服务器
rewrite规则配置错误,或DNS未生效。 - 解决: 检查 Nginx/Apache 的配置语法是否正确,并确保DNS解析已生效,可以用
ping news.yourdomain.com来测试。
- 原因: 服务器
-
问题2:图片、CSS、JS等静态资源无法加载(显示为空白或404)。
- 原因: 这是最常见的问题,织梦生成的HTML中,静态资源的路径是相对路径,但二级域名的“根”和主站的“根”不同,导致路径错误。
- 解决:
- 进入“系统” -> “系统基本参数” -> “核心设置”。
- 找到 “网站路径” 或 “模板目录” 等相关设置,确保它们使用的是绝对路径(如
/www/wwwroot/yourdomain.com/news/templets)。 - 检查你的模板文件(
.htm)中,调用静态资源(如<img src="{dede:field name='picname'/}" />)时,是否使用了绝对路径,可以修改织梦的标签,使其在生成时带上域名,在模板中可以这样写:<img src="{dede:global.cfg_news_domain/}/{dede:field name='picname'/}" />但这种方法需要为每个标签都修改,比较麻烦,更推荐的方法是确保网站根目录设置正确,并重新生成全站。
-
问题3:后台登录不了。
-
原因: 后台登录地址仍然是
news.yourdomain.com/dede/,但服务器配置可能阻止了访问/dede/目录。 -
解决: 在服务器配置中,为
/dede/目录添加一个例外,以 Nginx 为例:server { # ... 其他配置 ... rewrite ^(.*)$ /news/$1 last; # 添加例外规则 location ~ ^/dede/ { rewrite ^(.*)$ /dede/$1 last; # 直接重写到主站的 dede 目录 } }这样,访问
news.yourdomain.com/dede/就会跳转到www.yourdomain.com/dede/。
-
希望这份详细的教程能帮助你顺利完成配置!
