织梦首页如何去掉index.html?

99ANYc3cd6
预计阅读时长 12 分钟
位置: 首页 织梦建站 正文

使用织梦后台设置(最简单,推荐首选)

这是最简单、最安全的方法,织梦系统本身已经内置了此功能。

织梦首页去掉index.html
(图片来源网络,侵删)
  1. 登录织梦后台:使用您的管理员账号登录到织梦CMS的后台管理系统。
  2. 进入系统设置:在左侧菜单栏中,找到并点击 【系统】 -> 【系统基本参数】
  3. 修改核心设置
    • 在打开的页面中,点击顶部的 【核心设置】 选项卡。
    • 找到 “网站首页默认主页名” 这一选项。
    • 将其右侧的值从 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 的请求内部转发到根目录,对用户和搜索引擎都是透明的。

操作步骤

织梦首页去掉index.html
(图片来源网络,侵删)
  1. 首先完成方法一:务必先在后台将“网站首页默认主页名”设置为空。
  2. 根据您的服务器环境,选择对应的伪静态规则,并上传到您的网站根目录。

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服务器,请按照以下步骤操作:

  1. 安装URL Rewrite模块:如果您的IIS服务器尚未安装“URL Rewrite”模块,请先从微软官网下载并安装。
  2. 配置规则
    • 在IIS管理器中,选中您的网站。
    • 双击打开 “URL重写” 功能。
    • 在右侧的“操作”面板中,点击 “添加入站规则”
    • 名称:可以填写一个名称,Remove index.html
    • 匹配的URL
      • 模式:输入 ^index\.html$
    • 操作
      • 操作类型:选择 “重定向”
      • 重定向URL:输入
      • 重定向类型:选择 “永久(301)”
    • 点击 “应用” 保存规则。

修改织梦源码(不推荐,除非必要)

这种方法直接修改织梦的核心文件,可以实现类似方法一的效果,但不推荐普通用户使用,因为升级织梦版本后,这些修改会被覆盖。

织梦首页去掉index.html
(图片来源网络,侵删)

操作步骤

  1. 备份文件:在修改任何文件之前,请务必备份!

  2. 找到并修改文件

    • 打开织梦程序根目录下的 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友好,用户体验好 需要服务器权限,不同服务器配置不同 ★★★★★ (必须配合方法一)
修改源码 可以从根源上改变默认行为 升级会失效,有风险,不灵活 ★☆☆☆☆ (不推荐)

最佳实践流程

  1. 登录织梦后台,将 【系统基本参数】 -> 【核心设置】 中的 “网站首页默认主页名” 设置为空。
  2. 根据您的服务器(Apache/Nginx/IIS),选择对应的伪静态规则,配置到您的服务器上。
  3. 测试:清除浏览器缓存,分别访问 http://www.yourdomain.com/http://www.yourdomain.com/index.html,确保它们都正确跳转到首页,并且地址栏的URL都是根目录形式。

这样,您就可以完美地去掉织梦首页URL中的 index.html 了。

-- 展开阅读全文 --
头像
织梦手机站模板哪里下载?
« 上一篇 12-12
dede pagebreak样式如何调整?
下一篇 » 12-12
取消
微信二维码
支付宝二维码

目录[+]