织梦动态链接如何修改?

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

织梦CMS的链接形式主要分为两种:动态链接静态链接,您的问题是如何修改“动态链接”,这通常包含两种情况:

  1. 将默认的动态链接(带 和 & 的)修改为更友好的伪静态链接/plus/view.php?aid=123 改为 /plus/view-123.html),这是最常见的需求,因为伪静态链接对搜索引擎更友好,也更美观。
  2. 修改动态链接中的某些参数,比如修改 aidid,但这非常不推荐,因为这会破坏系统兼容性。

下面我将主要围绕第一种情况,也就是从动态链接改为伪静态链接,并提供详细的步骤。


核心概念:动态链接 vs. 伪静态链接

  • 动态链接https://www.yoursite.com/plus/view.php?aid=123

    • 特点:包含 和 & 等特殊字符,URL较长,服务器每次都需要解析PHP脚本,生成页面。
    • 优点:技术实现简单,内容实时更新。
    • 缺点:对搜索引擎不友好,用户体验不佳。
  • 伪静态链接https://www.yoursite.com/plus/view-123.html

    • 特点:看起来像静态文件(以 .html ,但实际上仍然是动态生成的,通过服务器的重写规则(如Apache的.htaccess或Nginx的rewrite规则)将请求转发给PHP脚本。
    • 优点:URL美观、简洁,对搜索引擎友好,用户体验好。
    • 缺点:需要服务器配置支持,首次设置稍复杂。

修改步骤:从动态链接改为伪静态链接

这个过程主要分为三步:后台开启伪静态 -> 2. 上传/修改服务器规则文件 -> 3. 更新网站缓存

第1步:在织梦后台开启伪静态

  1. 登录您的织梦后台。
  2. 在左侧菜单栏找到 “系统” -> “系统基本参数”
  3. 在弹出的页面中,点击顶部的 “核心设置” 选项卡。
  4. 找到 “是否使用伪静态” 这一项,将其修改为 “是”
  5. 点击页面底部的 “保存” 按钮。

第2步:配置服务器规则文件(最关键的一步)

织梦官方提供了不同服务器的伪静态规则文件,您需要根据您的服务器环境,选择对应的规则并上传到网站的根目录。

找到规则文件

织梦程序的 目录下,通常有一个名为 rewrite 的文件夹,里面包含了各种服务器的规则文件,

  • httpd.ini (IIS6)
  • httpd.conf (IIS7)
  • .htaccess (Apache)
  • nginx.conf (Nginx)

根据您的服务器类型进行操作

A. Apache 服务器 (最常见)

  • 文件rewrite 文件夹下的 .htaccess 文件。
  • 操作
    1. 将这个 .htaccess 文件下载到本地。
    2. 用文本编辑器(如记事本、VS Code、Sublime Text)打开它。
    3. 检查并修改:确保文件开头的 RewriteEngine On 是开启的,如果您的网站存放在子目录(http://www.yoursite.com/dede/),您需要修改 RewriteBase / 这一行,将其改为 RewriteBase /您的子目录/,如果安装在根目录,则保持 即可。
    4. 将修改后的文件上传到您网站的根目录public_htmlwwwroothtdocs)。
    5. 确保您的服务器已经开启了 mod_rewrite 模块,大部分虚拟主机默认已开启,如果您是独立服务器,可以在 httpd.conf 中检查 LoadModule rewrite_module modules/mod_rewrite.so 这一行是否没有被注释掉。

B. Nginx 服务器

  • 文件rewrite 文件夹下的 nginx.conf 文件。

  • 操作

    1. 不要直接上传这个文件,您需要将里面的规则复制出来。
    2. 登录您的Nginx服务器管理后台(如宝塔面板、LNMP一键安装包等)。
    3. 找到您网站对应的 Nginx配置文件
    4. 在该文件的 server { ... } 块内,将 nginx.conf 文件中的规则粘贴进去
    5. 保存配置文件,并重启Nginx服务,使新规则生效。

    Nginx规则示例(通常包含在 server 块内):

    location / {
        rewrite "^/plus/list-([0-9]+)\.html$" /plus/list.php?tid=$1 last;
        rewrite "^/plus/list-([0-9]+)-([0-9]+)\.html$" /plus/list.php?tid=$1&PageNo=$2 last;
        rewrite "^/plus/view-([0-9]+)\.html$" /plus/view.php?aid=$1 last;
        # ... 其他规则
    }

C. IIS 服务器

  • 文件rewrite 文件夹下的 httpd.ini (IIS6) 或 web.config (IIS7+)。
  • 操作
    • IIS6:将 httpd.ini 文件上传到网站根目录。
    • IIS7+:通常需要将规则转换为 web.config 格式,织梦 rewrite 文件夹里一般也提供了 web.config 文件,直接上传到网站根目录即可。

第3步:更新网站缓存并测试

  1. 更新缓存:回到织梦后台,点击 “系统” -> “一键更新网站” -> “更新所有”,这一步会根据新的URL规则重新生成所有页面的链接。
  2. 测试
    • 清除浏览器缓存。
    • 访问您的网站首页,点击任意一篇文章的标题,看链接是否变成了 .../plus/view-123.html 这样的形式。
    • 如果能正常打开,说明修改成功。
    • 如果出现404错误,请检查第2步中的服务器规则是否正确配置或上传。

常见问题与注意事项

  1. 404错误怎么办?

    • 首要检查:服务器规则文件(.htaccessnginx.conf)是否正确上传或配置,并且服务器是否支持该规则。
    • 目录权限:确保网站根目录有写入和读取权限。
    • 服务器模块:确认Apache的 mod_rewrite 已开启,Nginx的 rewrite 模块已加载。
  2. 网站安装在子目录怎么办?

    • 非常重要! 如果您的网站在 http://www.yoursite.com/dede/ 下,那么在 .htaccess 文件中,必须将 RewriteBase / 修改为 RewriteBase /dede/,所有规则都会基于这个路径进行重写。
  3. 修改后旧链接还能访问吗?

    • 织梦的伪静态规则通常会同时支持旧动态链接和新伪静态链接,也就是说,/plus/view.php?aid=123/plus/view-123.html 都能访问到同一篇文章,这有利于SEO,避免因链接变更导致收录丢失。
  4. “静态链接”和“伪静态链接”有什么区别?

    • 静态链接:真实存在的HTML文件,如 /html/123/123.html由织梦生成并保存在服务器上,优点是访问速度快,服务器压力小,缺点是每次修改内容都需要重新生成全站文件。
    • 伪静态链接:只是URL的伪装,实际访问的还是PHP脚本,优点是灵活,内容更新无需重新生成,缺点是服务器需要实时解析,比纯静态略慢。
    • 织梦还支持“动态发布”,即完全使用动态链接,您可以在后台“核心设置”中切换这三种模式。

修改织梦动态链接的核心流程是:后台开启伪静态 -> 配置服务器规则文件 -> 更新缓存,最关键的一步是服务器规则的配置,请务必根据您的服务器类型(Apache/Nginx/IIS)进行正确的操作。

希望这个详细的教程能帮助您成功修改织梦的链接!如果遇到具体问题,可以告诉我您的服务器类型和遇到的具体错误信息,我可以提供更针对性的帮助。

-- 展开阅读全文 --
头像
织梦后台为何跳转不进去?
« 上一篇 今天
dede为何无法生成主页?
下一篇 » 今天

相关文章

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

目录[+]