织梦如何去掉index.html?

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

织梦默认生成的首页链接是 域名/index.html,要去掉它,主要有两种方法:修改模板文件使用伪静态(推荐),下面我将详细介绍这两种方法。

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

修改模板文件(最直接,但非永久)

这种方法通过修改首页模板,将所有指向首页的链接从 index.html 版本改为不带后缀的版本。

适用场景:如果你只是想让网站内部的链接看起来更简洁,并且不关心URL是否真的重定向,可以使用此方法。

操作步骤

  1. 登录织梦后台:使用你的管理员账号登录织梦CMS后台。

    织梦如何去掉index.html
    (图片来源网络,侵删)
  2. 找到首页模板

    • 在后台左侧菜单栏,点击【模板】 -> 【默认模板管理】。
    • 在页面中找到你当前使用的网站模板,点击右侧的【主页】链接。
    • 这会打开你网站的首页模板文件 index.htm
  3. 修改模板中的链接

    • 在模板文件中,找到所有指向网站首页的链接,它们通常是这样的形式:

      <a href="{dede:global.cfg_basehost/}/index.html">网站首页</a>

      或者

      织梦如何去掉index.html
      (图片来源网络,侵删)
      <a href="{dede:global.cfg_cmsurl/}/">网站首页</a> <!-- 这个通常已经是正确的 -->
    • 将包含 index.html 的链接修改为不带后缀的版本:

      <!-- 修改前 -->
      <a href="{dede:global.cfg_basehost/}/index.html">网站首页</a>
      <!-- 修改后 -->
      <a href="{dede:global.cfg_basehost/}/">网站首页</a>
    • 特别注意检查 head 部分的 canonical 标签和 footer 部分的友情链接、Logo链接等。

  4. 更新缓存

    保存模板文件后,回到后台首页,点击右上角的【更新缓存】按钮,确保修改生效。

缺点

  • 这种方法只是前端显示上的修改,如果用户直接访问 域名/index.html,页面仍然可以正常打开。
  • 搜索引擎可能会同时收录 域名/域名/index.html 两个URL,造成内容重复,不利于SEO。

使用伪静态(强烈推荐)

这是最专业、最彻底的解决方案,它通过服务器配置,将 域名/index.html 的请求301永久重定向域名/,这样做有两大好处:

  1. 用户体验:URL更简洁。
  2. SEO优化:将权重集中到不带 index.html 的URL上,避免内容重复,并告诉搜索引擎这是永久地址。

操作步骤

伪静态的实现依赖于你的服务器环境,主要分为 ApacheNginx 两种。

第1步:开启织梦的“伪静态”选项

无论你是什么服务器,这一步都是必须的。

  1. 在织梦后台,点击左侧菜单【系统】 -> 【核心设置】
  2. 找到 “是否使用伪静态” 选项,将其选择为 “是”
  3. 点击【保存】按钮。

第2步:根据服务器环境配置伪静态规则

Apache 服务器

如果你使用的是Linux虚拟主机,很大概率是Apache服务器。

  • 方法A:通过后台生成(推荐)

    1. 在织梦后台,点击【系统】 -> 【系统基本参数】 -> 【其他选项】

    2. 找到 “Apache服务器伪静态设置”,里面已经写好了规则。

    3. 将这些规则完整地复制下来。

    4. 登录你的虚拟主机控制面板(如cPanel、宝塔面板等),找到网站根目录下的 .htaccess 文件。

    5. 如果没有这个文件,就新建一个,将复制的规则粘贴到文件的最顶部,并保存。

      # 将 /index.html 永久重定向到 /
      RewriteCond %{THE_REQUEST} /index\.html [NC]
      RewriteRule ^index\.html$ / [L,R=301]
      # 下面是织梦原有的伪静态规则
      RewriteRule ^index\.html$ / [R=301,L]
      RewriteRule ^(.*)\.html$ /$1.html [R=301,L]
      # ... (织梦默认的其他规则)
  • 方法B:手动添加.htaccess 文件的开头,添加以下规则:

    # 将所有访问 index.html 的请求永久重定向到根目录
    RewriteCond %{THE_REQUEST} /index\.html [NC]
    RewriteRule ^index\.html$ / [L,R=301]

    这段代码的意思是:当请求的URL中包含 /index.html 时,就将其301重定向到 。

Nginx 服务器

如果你使用的是Nginx(如云服务器、部分香港主机等)。

  • 方法A:通过后台生成

    1. 在织梦后台,点击【系统】 -> 【系统基本参数】 -> 【其他选项】
    2. 找到 “Nginx服务器伪静态设置”,复制里面的规则。
  • 方法B:手动添加 将以下规则添加到你的Nginx配置文件(通常是 nginx.conf 或站点配置文件 your-site.conf)的 server { ... } 块内:

    # 将 /index.html 永久重定向到 /
    if ($request_uri ~ "^/index\.html$") {
        return 301 http://$host$request_uri;
    }

    或者,更推荐的方式是直接在 server 块的开头加上:

    # 在 server 块的开头添加
    location = /index.html {
        return 301 /;
    }

    修改完Nginx配置后,需要执行 nginx -s reload 命令来重新加载配置。


总结与对比

方法 优点 缺点 推荐度
修改模板 简单直接,无需服务器权限。 不彻底,index.html 仍可访问,不利于SEO权重集中。 ⭐⭐
使用伪静态 彻底解决,URL简洁,SEO友好,权重集中。 需要服务器权限,对新手有一定门槛。 ⭐⭐⭐⭐⭐

最终建议

为了网站的长期健康发展和SEO优化,强烈推荐使用方法二:伪静态,虽然配置过程稍微复杂一点,但一劳永逸,效果是最好的。

配置完成后,你可以使用站长工具(如百度搜索资源平台、Google Search Console)的“URL检查”功能,或者使用 curl -I 你的域名/index.html 命令来验证是否返回了 301 状态码,如果返回 301 并跳转到 域名/,就说明配置成功了。

-- 展开阅读全文 --
头像
织梦dedecms如何实现数据库远程链接?
« 上一篇 12-12
如何删除织梦主页index.html?
下一篇 » 12-12
取消
微信二维码
支付宝二维码

目录[+]