dede伪静态栏目名称如何设置?

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

“伪静态”并不是真正的静态页面(.html),而是通过服务器上的配置(如 Apache 的 .htaccess 或 Nginx 的 rewrite 规则),将动态的 URL(如 plus/list.php?tid=1)重写成一个看起来像静态的 URL(如 category/1.htmlnews/)。

dede伪静态栏目名称
(图片来源网络,侵删)

这样做的好处是:

  • SEO 优化:URL 结构更清晰、更友好,搜索引擎更容易抓取和理解。
  • 用户体验:用户看到简洁的 URL,信任度更高。
  • 隐藏技术细节:不暴露服务器使用的脚本语言(如 .php)。

核心步骤:设置栏目伪静态

整个过程分为三个关键部分,缺一不可:

  1. 后台设置:告诉 DedeCMS 你要使用伪静态规则。
  2. 服务器配置:在服务器上配置重写规则,实现 URL 的转换。
  3. 生成栏目:在后台重新生成栏目,使新的 URL 生效。

第一步:DedeCMS 后台设置

这是最基础的一步,开启 DedeCMS 的伪静态功能。

  1. 登录您的 DedeCMS 后台。
  2. 进入 系统 -> 系统基本参数 -> 核心设置
  3. 找到 “是否使用伪静态” 选项,将其设置为 “是”
  4. 点击 “确定” 保存。

注意:这里只是开启功能,具体如何生成伪静态 URL,还需要在第二步和第三步中配置。

dede伪静态栏目名称
(图片来源网络,侵删)

第二步:服务器配置(这是最关键的一步)

你需要根据你的服务器环境(Apache 或 Nginx)来添加相应的配置文件。

Apache 服务器

Apache 服务器通常使用 .htaccess 文件来管理伪静态规则。

  1. 找到 .htaccess 文件

    • 这个文件通常位于您的网站根目录()下。
    • 如果没有,请创建一个,文件名为 .htaccess(注意前面的点)。
  2. 添加 DedeCMS 栏目伪静态规则: 将以下代码复制并粘贴到您的 .htaccess 文件中。

    dede伪静态栏目名称
    (图片来源网络,侵删)
    # DedeCMS 伪静态规则
    # 如果目录存在则直接访问目录文件,不存在则继续往下执行
    RewriteCond %{REQUEST_FILENAME} !-d
    # 如果文件存在则直接访问文件,不存在则继续往下执行
    RewriteCond %{REQUEST_FILENAME} !-f
    # Rewrite 规则开始
    RewriteRule ^category/list-([0-9]+)\.html$ /plus/list.php?tid=$1 [L]
    RewriteRule ^category/list-([0-9]+)-([0-9]+)\.html$ /plus/list.php?tid=$1&PageNo=$2 [L]
    RewriteRule ^category/([0-9]+)\.html$ /plus/list.php?tid=$1 [L]
    RewriteRule ^category/([0-9]+)-([0-9]+)\.html$ /plus/list.php?tid=$1&PageNo=$2 [L]

    规则解释

    • ^category/list-([0-9]+)\.html$:匹配形如 category/list-1.html 的 URL。
      • ^ 表示字符串开始。
      • category/list- 是固定的前缀。
      • ([0-9]+) 是一个捕获组,匹配一个或多个数字(即栏目ID)。
      • \.html$ 是固定的后缀。
      • /plus/list.php?tid=$1 将其重写为动态地址,$1 代表前面捕获的第一个数字(栏目ID)。
    • PageNo=$2:用于分页,匹配形如 category/list-1-2.html 的 URL,$2 代表页码。
    • [L]:Last Rule,表示如果此规则匹配成功,则停止处理后续的 RewriteRule。
  3. 启用 Apache Rewrite 模块: 确保您的 Apache 服务器已经启用了 rewrite 模块,虚拟主机商会默认开启,如果未开启,需要修改 httpd.conf 文件,取消 LoadModule rewrite_module modules/mod_rewrite.so 前面的 号,并重启 Apache。

Nginx 服务器

Nginx 服务器通常在网站的配置文件中(如 nginx.conf 或站点配置文件 your-site.conf)添加 rewrite 规则。

  1. 找到 Nginx 配置文件: 登录您的服务器,找到 Nginx 的站点配置文件,通常在 /etc/nginx/sites-available/ 目录下。

  2. 添加 DedeCMS 栏目伪静态规则: 在 server { ... } 块中添加以下 rewrite 段落。

    server {
        # ... 其他配置 ...
        listen 80;
        server_name yourdomain.com;
        # DedeCMS 伪静态规则
        rewrite "^/category/list-([0-9]+)\.html$" /plus/list.php?tid=$1 last;
        rewrite "^/category/list-([0-9]+)-([0-9]+)\.html$" /plus/list.php?tid=$1&PageNo=$2 last;
        rewrite "^/category/([0-9]+)\.html$" /plus/list.php?tid=$1 last;
        rewrite "^/category/([0-9]+)-([0-9]+)\.html$" /plus/list.php?tid=$1&PageNo=$2 last;
        # ... 其他配置 ...
    }

    规则解释

    • ^/category/list-([0-9]+)\.html$:匹配形如 http://yourdomain.com/category/list-1.html 的 URL。
    • /plus/list.php?tid=$1:将其重写为动态地址。
    • last:表示在本 location 中完成重写,并停止搜索其他 rewrite 规则,然后使用重写后的 URL 重新发起请求。
  3. 重载 Nginx 配置: 保存配置文件后,执行以下命令使配置生效。

    nginx -s reload

第三步:自定义栏目URL(高级)

DedeCMS 允许你为每个栏目单独设置其伪静态的 URL 格式。

  1. 进入 “频道管理”“栏目管理”
  2. 点击某个栏目的 “更改”“编辑” 按钮。
  3. 在栏目编辑页面,找到 “栏目名称” 下方的 “文件保存目录” 输入框。
  4. 这里就是自定义伪静态名称的关键!
    • 默认情况:如果你留空,系统会使用默认的规则生成类似 category/1.html 的URL。
    • 自定义名称:你可以在这里输入你想要的名称。
      • 输入 news,那么这个栏目的访问地址就会变成 http://yourdomain.com/category/news.html
      • 输入 product,那么访问地址就是 http://yourdomain.com/category/product.html
    • 带层级:你还可以使用斜杠 来创建层级结构,例如输入 tech/web,那么URL就会是 http://yourdomain.com/category/tech/web.html

注意

  • 文件保存目录不要使用中文,建议使用英文、数字或下划线。
  • 这个目录名称会直接成为 URL 的一部分,所以要确保其唯一性和友好性。

第四步:生成栏目和更新缓存

完成以上所有配置后,最后一步就是让 DedeCMS 生成新的页面。

  1. 在后台首页,找到 “生成” 菜单。
  2. 点击 “更新栏目HTML”
  3. 你可以选择“仅更新栏目主页”或“更新所有栏目”,然后点击“开始执行”。
  4. 执行成功后,你的栏目链接就会变成你设置的伪静态格式了。

总结与排错

  • 404 Not Found:这是最常见的错误,99% 的原因是 服务器配置(.htaccess 或 Nginx 配置)有误或未生效,请仔细检查你的规则是否写对,并确保服务器已加载了配置文件。
  • URL 不变:如果你设置了伪静态,但刷新页面后 URL 还是动态的(如 plus/list.php?tid=1),请检查 第一步 的“是否使用伪静态”是否设置为“是”,并 重新生成栏目
  • 自定义目录不生效:检查 第三步 的“文件保存目录”是否填写正确,并确保没有与其他栏目重名,同样,需要重新生成栏目才能看到效果。

通过以上四个步骤,你就可以成功地为 DedeCMS 的所有栏目设置漂亮的伪静态名称了。

-- 展开阅读全文 --
头像
CRC16校验算法C语言如何实现?
« 上一篇 03-08
织梦文章内容表格边框
下一篇 » 03-08

相关文章

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

目录[+]