使用织梦后台设置(最简单,推荐首选)
这是最简单、最安全的方法,织梦系统本身已经内置了此功能。

(图片来源网络,侵删)
- 登录织梦后台:使用您的管理员账号登录到织梦CMS的后台管理系统。
- 进入系统设置:在左侧菜单栏中,找到并点击 【系统】 -> 【系统基本参数】。
- 修改核心设置:
- 在打开的页面中,点击顶部的 【核心设置】 选项卡。
- 找到 “网站首页默认主页名” 这一选项。
- 将其右侧的值从
index.html修改为空,即直接删除index.html这几个字,保持输入框为空。 - 点击页面底部的 【保存】 按钮。
效果:
- 前台链接:访问
http://www.yourdomain.com/会直接打开首页。 - 后台链接:后台的“网站首页”链接会变成
http://www.yourdomain.com/而不是http://www.yourdomain.com/index.html。
注意:这个方法只是修改了系统生成的链接,但用户如果直接在浏览器地址栏输入 http://www.yourdomain.com/index.html,仍然可以访问,要彻底解决这个问题,需要结合下面的服务器伪静态规则。
设置服务器伪静态(彻底解决)
伪静态是实现这个功能最彻底、最规范的方式,它通过服务器重写规则,将 index.html 的请求内部转发到根目录,对用户和搜索引擎都是透明的。
操作步骤:

(图片来源网络,侵删)
- 首先完成方法一:务必先在后台将“网站首页默认主页名”设置为空。
- 根据您的服务器环境,选择对应的伪静态规则,并上传到您的网站根目录。
Apache服务器
在您的网站根目录下找到 .htaccess 文件(如果不存在,请新建一个),然后将以下规则添加到文件中:
# 如果首页是 index.html
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{THE_REQUEST} /index\.html [NC]
RewriteRule ^index\.html$ / [L,R=301]
</IfModule>
- 说明:这段规则的意思是,当有请求访问
/index.html时,服务器会将其重定向(301)到根目录 。R=301表示永久重定向,对SEO非常友好。
Nginx服务器
如果您使用的是Nginx服务器,请编辑您的Nginx配置文件(通常位于 /etc/nginx/nginx.conf 或您站点的配置文件中),在 server 块内添加以下规则:
# 如果首页是 index.html
location = /index.html {
rewrite ^(.*)$ / permanent;
}
- 说明:这段规则将所有对
/index.html的请求直接永久重定向到根目录 。
IIS服务器
如果您使用的是IIS服务器,请按照以下步骤操作:
- 安装URL Rewrite模块:如果您的IIS服务器尚未安装“URL Rewrite”模块,请先从微软官网下载并安装。
- 配置规则:
- 在IIS管理器中,选中您的网站。
- 双击打开 “URL重写” 功能。
- 在右侧的“操作”面板中,点击 “添加入站规则”。
- 名称:可以填写一个名称,
Remove index.html。 - 匹配的URL:
- 模式:输入
^index\.html$
- 模式:输入
- 操作:
- 操作类型:选择 “重定向”
- 重定向URL:输入
- 重定向类型:选择 “永久(301)”
- 点击 “应用” 保存规则。
修改织梦源码(不推荐,除非必要)
这种方法直接修改织梦的核心文件,可以实现类似方法一的效果,但不推荐普通用户使用,因为升级织梦版本后,这些修改会被覆盖。

(图片来源网络,侵删)
操作步骤:
-
备份文件:在修改任何文件之前,请务必备份!
-
找到并修改文件:
-
打开织梦程序根目录下的
index.php文件。 -
找到类似下面的代码:
if(!file_exists(dirname(__FILE__).'/data/common.inc.php')) { header('Location:install/index.php'); exit(); } //自动转义 if ( !defined('DEDEDATA') ) define('DEDEDATA', dirname(__FILE__).'/data'); require_once(DEDEDATA."/common.inc.php"); require_once(DEDEINC."/arc.partview.class.php"); $GLOBALS['_arcs'] = array(); $pv = new PartView(); $pv->SetTemplet($cfg_basedir.$cfg_templets_dir."/".$cfg_df_style."/".$cfg_indexurl); $pv->Display(); -
修改最后一行
$pv->SetTemplet(...)中的$cfg_indexurl,通常这个变量在后台设置,但为了确保万无一失,可以在这里直接指定模板文件名。// 修改前 $pv->SetTemplet($cfg_basedir.$cfg_templets_dir."/".$cfg_df_style."/".$cfg_indexurl); // 修改后 (假设您的首页模板是 index.htm) $pv->SetTemplet($cfg_basedir.$cfg_templets_dir."/".$cfg_df_style."/index.htm");
-
保存文件。
-
缺点:
- 升级织梦版本后,此修改会丢失。
- 如果后台设置更改,可能会导致页面无法显示。
- 不如后台设置和伪静态方法灵活。
总结与建议
| 方法 | 优点 | 缺点 | 推荐度 |
|---|---|---|---|
| 后台设置 | 最简单、最安全,官方支持 | 无法处理用户直接输入 index.html 的情况 |
★★★★★ |
| 伪静态 | 最彻底、最规范,SEO友好,用户体验好 | 需要服务器权限,不同服务器配置不同 | ★★★★★ (必须配合方法一) |
| 修改源码 | 可以从根源上改变默认行为 | 升级会失效,有风险,不灵活 | ★☆☆☆☆ (不推荐) |
最佳实践流程:
- 登录织梦后台,将 【系统基本参数】 -> 【核心设置】 中的 “网站首页默认主页名” 设置为空。
- 根据您的服务器(Apache/Nginx/IIS),选择对应的伪静态规则,配置到您的服务器上。
- 测试:清除浏览器缓存,分别访问
http://www.yourdomain.com/和http://www.yourdomain.com/index.html,确保它们都正确跳转到首页,并且地址栏的URL都是根目录形式。
这样,您就可以完美地去掉织梦首页URL中的 index.html 了。
