织梦文章伪静态如何设置?

99ANYc3cd6
预计阅读时长 20 分钟
位置: 首页 织梦建站 正文
  1. 文章列表页和内容页的伪静态(最常用)
  2. 搜索、分类、标签等其他页面的伪静态

下面我将为你提供一份详细、分步骤的教程,重点讲解文章列表页和内容页的伪静态设置。

织梦 怎么让文章伪静态
(图片来源网络,侵删)

核心原理

织梦的伪静态实现依赖于两个关键部分:

  1. 后台设置:告诉织梦系统,你希望URL是什么格式(/article/123.html)。
  2. 服务器配置:当用户访问这个漂亮的URL时,服务器需要知道如何将它“翻译”回织梦能处理的动态URL(/plus/view.php?aid=123),并正确地返回页面内容。

注意:如果你的服务器是Nginx,配置文件与Apache不同,请务必选择对应的配置方法。


第一步:后台设置(通用)

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

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

    织梦 怎么让文章伪静态
    (图片来源网络,侵删)
  2. 进入系统设置:在左侧菜单栏找到并点击 【系统】 -> 【系统基本参数】

  3. 修改核心设置

    • “核心设置” 页面,找到 “是否使用伪静态” 这一选项。
    • 将其值修改为 “是”
  4. (可选但推荐)设置文章命名规则

    • 在左侧菜单栏点击 【核心】 -> 【栏目管理】
    • 选择一个顶级栏目,点击 “更改”
    • 在栏目设置页面,找到 “文章命名规则”
    • 这里可以自定义你想要的URL格式,常用的规则有:
      • {typedir}/{aid}.html:生成 /栏目目录/文章ID.html 格式。
      • {typedir}/{Y}/{M}{D}/{aid}.html:生成 /栏目目录/年/月日/文章ID.html 格式,更有层次感。
    • 设置好后,点击 “保存”,这个设置会应用到该栏目及其所有子栏目。

第二步:服务器配置(根据你的服务器类型选择)

这是伪静态能否生效的最关键一步,请根据你的服务器环境,选择对应的配置方法。

织梦 怎么让文章伪静态
(图片来源网络,侵删)

方案A:Apache服务器配置

如果你的网站使用的是Apache服务器,这是最简单的方案。

  1. 检查.htaccess文件

    • 登录你的网站服务器,通过FTP或文件管理器,找到网站根目录(通常是 public_htmlwww)。
    • 查看是否存在一个名为 .htaccess 的文件。
  2. 编辑或创建.htaccess文件

    • 如果文件存在:用文本编辑器(如Notepad++, VS Code)打开它。
    • 如果文件不存在:新建一个名为 .htaccess 的文件(注意前面的点,没有文件名后缀)。
  3. 添加织梦伪静态规则

    • 将以下 Apache 伪静态规则代码,复制并粘贴到 .htaccess 文件的末尾(如果已有其他规则,请确保它们不冲突)。
    # 织梦DedeCMS伪静态规则
    <IfModule mod_rewrite.c>
      RewriteEngine On
      RewriteBase /
      #列表页
      RewriteRule ^plus/list-([0-9]+)\.html$ /plus/list.php?tid=$1
      RewriteRule ^plus/list-([0-9]+)-([0-9]+)\.html$ /plus/list.php?tid=$1&PageNo=$2
      RewriteRule ^plus/list-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /plus/list.php?tid=$1&PageNo=$2&totalresult=$3
      #文章页
      RewriteRule ^plus/view-([0-9]+)-([0-9]+)\.html$ /plus/view.php?arcID=$1&pageno=$2
      RewriteRule ^plus/view-([0-9]+)\.html$ /plus/view.php?arcID=$1
      #搜索页
      RewriteRule ^plus/search\.html$ /plus/search.php
      RewriteRule ^plus/search-([0-9]+)-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /plus/search.php?keyword=$1&searchtype=$2&typeid=$3&ChannelID=$4&orderby=$5&kwtype=$6&TotalResult=$7&PageNo=$8
      #TAG标签页
      RewriteRule ^tags\.html$ /tags.php
      RewriteRule ^tags/([a-zA-Z0-9]+)$ /tags.php?/$1
      RewriteRule ^tags/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)$ /tags.php?/$1/$2
      RewriteRule ^tags/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)$ /tags.php?/$1/$2/$3
      RewriteRule ^tags/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)$ /tags.php?/$1/$2/$3/$4
      #分类信息
      RewriteRule ^plus/([a-z]+)-([0-9]+)-([0-9]+)\.html$ /plus/$1\.php?tid=$2&TotalResult=$3&PageNo=$4
      RewriteRule ^plus/([a-z]+)-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /plus/$1\.php?tid=$2&TotalResult=$3&PageNo=$4
    </IfModule>
    • RewriteBase /:如果你的网站安装在子目录(http://yourdomain.com/dede/),你需要将这里的 改为 /子目录名/RewriteBase /dede/
  4. 保存文件:将修改后的 .htaccess 文件上传到网站根目录,并确保其权限设置正确(通常是 644)。

  5. 开启Apache的 mod_rewrite 模块

    • 这一步通常由你的主机商完成,你可以通过创建一个 phpinfo.php 文件,内容为 <?php phpinfo(); ?>,上传后访问,在页面中搜索 mod_rewrite 来检查是否已开启,如果没开启,你需要联系主机商或自己修改 httpd.conf 配置文件。

方案B:Nginx服务器配置

如果你的服务器是Nginx,配置方式完全不同。

  1. 登录服务器:通过SSH连接到你的Nginx服务器。

  2. 找到Nginx配置文件:通常位于 /usr/local/nginx/conf/nginx.conf/etc/nginx/sites-available/ 目录下的某个配置文件(default)。

  3. server 块内添加规则

    • 在你网站的 server 配置块中(即包含 listen 80;server_name yourdomain.com; 的部分),添加以下Nginx伪静态规则。
    # 织梦DedeCMS伪静态规则
    location / {
        if (!-e $request_filename) {
            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/list-([0-9]+)-([0-9]+)-([0-9]+)\.html$" /plus/list.php?tid=$1&PageNo=$2&totalresult=$3 last;
            rewrite "^/plus/view-([0-9]+)-([0-9]+)\.html$" /plus/view.php?arcID=$1&pageno=$2 last;
            rewrite "^/plus/view-([0-9]+)\.html$" /plus/view.php?arcID=$1 last;
            rewrite "^/plus/search\.html$" /plus/search.php last;
            rewrite "^/plus/search-([0-9]+)-([0-9]+)-([0-9]+)-([0-9]+)\.html$" /plus/search.php?keyword=$1&searchtype=$2&orderby=$3&kwtype=$4 last;
            rewrite "^/tags\.html$" /tags.php last;
            rewrite "^/tags/([a-zA-Z0-9]+)$" /tags.php?/$1 last;
            rewrite "^/tags/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)$" /tags.php?/$1/$2 last;
            rewrite "^/tags/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)$" /tags.php?/$1/$2/$3 last;
        }
    }
  4. 重启Nginx服务

    • 保存配置文件后,你需要让Nginx重新加载配置才能生效,在SSH中执行以下命令:

      # 如果使用 systemctl
      sudo systemctl reload nginx
      # 或者使用 service
      sudo service nginx reload

第三步:更新和测试

完成上述配置后,还需要最后一步:

  1. 更新文章缓存

    • 回到织梦后台,点击 【生成】 -> 【更新主页HTML】
    • 点击 【更新栏目HTML】,选择“所有栏目”。
    • 点击 【更新文档HTML】,选择“所有栏目”。
    • 这一步是为了让织梦生成新的静态页面链接,确保数据库中的链接规则与你的伪静态规则匹配。
  2. 测试伪静态是否生效

    • 访问你的网站首页,点击任意一篇文章。
    • 观察浏览器地址栏的URL是否已经变成了你设置的伪静态格式(/plus/view-123-1.html)。
    • 如果点击后能正常打开文章内容,并且URL格式正确,那么恭喜你,伪静态设置成功了!
    • 如果出现 404 Not Found 错误,请检查:
      • .htaccess 文件是否在根目录,内容是否正确(Apache)。
      • Nginx配置文件是否添加正确,并且已重启服务。
      • mod_rewrite 模块是否已开启(Apache)。
      • 网站是否安装在子目录,如果是,RewriteBase 或 Nginx配置中的路径是否正确。
步骤 操作 关键点
后台设置 进入【系统基本参数】,将“是否使用伪静态”设为“是”。 核心开关,必须开启。
服务器配置 Apache: 在根目录.htaccess文件中添加规则。
Nginx: 在配置文件的server块中添加规则。
最关键步骤,规则必须正确且服务器模块已开启。
更新与测试 后台【生成】页面更新所有HTML,然后点击文章测试URL。 验证设置是否成功,排查404错误。

遵循以上步骤,你就可以成功地为织梦网站设置文章伪静态了。

-- 展开阅读全文 --
头像
C语言或且运算符是什么?
« 上一篇 01-28
织梦安装后如何进入系统后台?
下一篇 » 01-28

相关文章

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

目录[+]