dede友情链接显示404怎么办?

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

下面我将从最常见、最可能的原因开始,为你提供一套详细的排查和解决方案。

dede友情链接显示404
(图片来源网络,侵删)

问题根源分析

友情链接页面(通常是 plus/flink.php)返回404,主要有三大原因:

  1. URL重写(伪静态)规则错误或缺失:这是最常见的原因,如果你的网站开启了伪静态,但服务器(如Apache的.htaccess或Nginx的配置)中没有正确配置友情链接页面的规则,服务器就会找不到对应的物理文件,从而返回404。
  2. 核心文件缺失或损坏plus/flink.php 这个文件可能因为某种原因(如升级、误删、权限问题)丢失或损坏了。
  3. 目录权限问题plus/ 目录或其下的文件没有正确的读取权限,导致Web服务器无法访问。

解决方案(按优先级顺序排查)

请按照以下步骤逐一排查和解决,大概率能找到问题所在。

第一步:检查并修正伪静态规则

如果你的网站开启了伪静态(URL重写),请务必检查服务器配置。

如果你的服务器是 Apache

请检查网站根目录下的 .htaccess 文件。

dede友情链接显示404
(图片来源网络,侵删)
  • 检查文件是否存在:确保网站根目录有 .htaccess 文件。

  • 是否正确:打开 .htaccess 文件,找到类似以下的重写规则,友情链接的规则通常是 RewriteRule ^plus/flink\.html$ plus/flink.php

    # 确保这段规则在你的 .htaccess 文件中存在
    RewriteEngine On
    RewriteBase /
    # ... 其他规则 ...
    # 友情链接页面规则
    RewriteRule ^plus/flink\.html$ plus/flink.php
    # ... 其他规则 ...
  • 如何修正

    • 如果没有这段规则,请手动添加进去。
    • 如果有,但格式不对(比如正则表达式写错了),请修正。
    • 保存 .htaccess 文件后,清空浏览器缓存,然后重新访问友情链接页面。

如果你的服务器是 Nginx

请检查你的 Nginx 配置文件(通常在 /usr/local/nginx/conf/vhost/ 目录下,对应你域名的配置文件)。

dede友情链接显示404
(图片来源网络,侵删)
  • 检查配置内容:找到 server 块,检查 location 规则。

    # 确保这段规则在你的 Nginx 配置文件中存在
    server {
        # ... 其他配置 ...
        location ~* ^plus/flink\.html$ {
            rewrite "^/plus/flink\.html$" /plus/flink.php last;
        }
        # ... 其他配置 ...
    }
  • 如何修正

    • 如果没有这段规则,请手动添加。

    • 修改配置文件后,必须重新加载或重启 Nginx 才能使配置生效,可以通过 SSH 执行命令:

      # 重新加载配置(推荐)
      nginx -s reload
      # 或者重启 Nginx
      /etc/init.d/nginx restart

第二步:检查核心文件是否存在

如果第一步无效,那很可能是 plus/flink.php 文件本身出了问题。

  1. 通过FTP或文件管理器连接你的网站服务器。
  2. 进入网站的 plus/ 目录。
  3. 检查是否存在 flink.php 这个文件。
    • 如果文件不存在:说明文件丢失了,你需要从DedeCMS的官方安装包里找到这个文件,然后上传到你的 plus/ 目录下。
    • 如果文件存在:尝试用文本编辑器打开它,看看内容是否正常,如果打开是空白或者一堆乱码,说明文件损坏了,同样,你需要从官方安装包里下载一个完好的 flink.php 文件覆盖它。

如何获取正确的文件?

  • 下载与你网站版本一致的DedeCMS完整安装包。
  • 解压安装包,找到 plus/flink.php 文件。
  • 将其上传到你的网站根目录的 plus/ 文件夹中,覆盖掉原有的(或新建的)文件。

第三步:检查目录和文件权限

如果文件存在且内容正常,那可能是权限问题导致服务器无法读取。

  1. 通过FTP或SSH,检查 plus/ 目录和 plus/flink.php 文件的权限。

  2. 推荐权限设置

    • 目录 (plus/) 权限设置为 755
    • 文件 (flink.php) 权限设置为 644
  3. 如何修改

    • FTP软件:右键点击文件或目录,选择“文件权限”或“属性”,然后输入上述数字。

    • SSH命令

      # 设置 plus 目录权限为 755
      chmod 755 /path/to/your/website/plus/
      # 设置 flink.php 文件权限为 644
      chmod 644 /path/to/your/website/plus/flink.php

      (请将 /path/to/your/website/ 替换为你的网站实际路径)


其他可能性排查(如果以上都无效)

如果以上三步都操作完毕,问题依旧存在,请考虑以下情况:

后台是否正确设置了友情链接页面?

登录DedeCMS后台:

  1. 进入【系统】-> 系统基本参数
  2. 在左侧菜单选择 核心设置
  3. 找到“友情链接”这一项,检查“存放目录”是否填写正确,默认情况下,它应该是 plus
  4. 保存设置。

是否使用了自定义的友情链接模板?

检查你是否在后台设置了自定义的友情链接模板文件(如 flink_list.htm)。

  1. 进入【后台】-> 模板 -> 默认模板管理
  2. 检查友情链接模板文件是否存在,并且路径是否正确。
  3. 可以尝试暂时不使用自定义模板,恢复使用默认模板,看问题是否解决。

服务器安全软件拦截

某些服务器安全软件(如云锁、安全狗等)可能会对 plus/ 目录下的PHP文件进行拦截,导致访问404。

  • 检查:登录你的服务器安全软件后台,查看访问日志或拦截记录,看是否有 flink.php 被拦截。
  • 解决:将 plus/flink.php 添加到安全软件的白名单中。

总结与排查流程

遇到“Dede友情链接显示404”问题,请按以下流程操作:

  1. 首要检查:网站是否开启了伪静态?如果是,检查并修正 .htaccess (Apache) 或 Nginx 配置文件中的友情链接重写规则。(解决率80%)
  2. 其次检查:通过FTP确认 plus/flink.php 文件是否存在且内容完好,如果丢失或损坏,从官方安装包重新上传覆盖。(解决率15%)
  3. 再次检查:检查 plus/ 目录(755)和 flink.php 文件(644)的权限是否正确。(解决率4%)
  4. 最后检查:后台核心设置、自定义模板、服务器安全软件拦截等特殊情况。(解决率1%)

按照这个顺序,绝大多数问题都能得到解决,希望这个详细的指南能帮到你!

-- 展开阅读全文 --
头像
dede文章前如何自动添加栏目名称?
« 上一篇 02-14
C语言通讯录管理系统如何实现高效数据管理?
下一篇 » 02-14

相关文章

取消
微信二维码
支付宝二维码

目录[+]