如何正确配置DedeCMS 5.3的伪静态和rewrite规则?

DedeCMS 5.3的伪静态及rewrite规则需要修改根目录下的.htaccess文件,并确保Apache的mod_rewrite模块已启用。

织梦dedecms5.3伪静态及rewrite规则

开启伪静态

要在织梦CMS中实现伪静态,必须确保服务器支持伪静态功能,在后台进行以下设置:

1、进入织梦CMS后台管理系统。

2、选择“系统参数” > “核心设置”。

3、在“是否使用伪静态”选项中选择“是”。

4、如果启用了问答模块,则在“系统参数” > “模块设置”中也选择“是”。

设置栏目为动态页

为了不生成静态HTML文件,需要将栏目设置为动态页:

1、创建栏目或批量增加栏目时,栏目列表选项选择“使用动态页”。

2、添加新文章时,发布选项选择“仅动态浏览”。

三、修改include/channelunit.func.php文件

找到并修改include/channelunit.func.php文件中的代码:

// 查找以下代码
$reurl = $GLOBALS['cfg_phpurl']."/list.php?tid=".$typeid;
// 替换成以下代码
$reurl = $GLOBALS['cfg_phpurl']."/list".$typeid.".html";

这一步是为了将导航及dede默认的动态链接换成静态。

设置重写规则

根据不同的服务器类型,设置相应的重写规则:

Apache服务器

在网站根目录创建一个.htaccess文件,内容如下:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !f
RewriteCond %{REQUEST_FILENAME} !d
RewriteRule index.html /index.php [L]
RewriteRule ^plus/list([09]+).html$ /plus/list.php?tid=$1 [L]
RewriteRule ^plus/view([09]+)([09]+).html$ /plus/view.php?arcID=$1&pageno=$2 [L]
RewriteRule ^plus/list([09]+)([09]+)([09]+).html$ /plus/list.php?tid=$1&totalresult=$2&PageNo=$3 [L]

IIS服务器

在网站根目录创建一个httpd.ini文件,内容如下:

缓存3600秒 = 1 小时(hour)
CacheClockRate 3600
RepeatLimit 32
RewriteRule ^(.*)/index.html $1/index.php [IIS_REWRITE]
RewriteRule ^(.*)/plus/list([09]+).html $1/plus/list.php?tid=$2 [IIS_REWRITE]
RewriteRule ^(.*)/plus/list([09]+)([09]+)([09]+).html $1/plus/list.php?tid=$2&TotalResult=$3&PageNo=$4 [IIS_REWRITE]
RewriteRule ^(.*)/plus/view([09]+)([09]+).html $1/plus/view.php?arcID=$2&pageno=$3 [IIS_REWRITE]

Nginx服务器

在nginx配置文件中添加以下规则:

rewrite ^/list([09]+).html$ /plus/list.php?tid=$1 last;
rewrite ^/list([09]+)([09]+)([09]+).html$ /plus/list.php?tid=$1&totalresult=$2&PageNo=$3 last;
rewrite ^/view([09]+)1.html$ /plus/view.php?arcID=$1 last;
rewrite ^/view([09]+)([09]+).html$ /plus/view.php?aid=$1&pageno=$2 last;

FAQs

Q1: 如何在dedecms中开启伪静态?

A1: 在dedecms后台系统中,依次进入“系统参数” > “核心设置”,选择“是否使用伪静态”选项为“是”即可开启伪静态,如果启用了问答模块,还需要在“系统参数” > “模块设置”中也选择“是”。

Q2: 如何修改dedecms中的URL结构以实现伪静态?

A2: 要修改URL结构,首先需要在include/channelunit.func.php文件中进行以下替换:

// 查找以下代码
$reurl = $GLOBALS['cfg_phpurl']."/list.php?tid=".$typeid;
// 替换成以下代码
$reurl = $GLOBALS['cfg_phpurl']."/list".$typeid.".html";

然后根据不同的服务器环境配置相应的重写规则,对于Apache服务器,需要在.htaccess文件中添加以下规则:

RewriteRule ^plus/list([09]+).html$ /plus/list.php?tid=$1 [L]
RewriteRule ^plus/view([09]+)([09]+).html$ /plus/view.php?arcID=$1&pageno=$2 [L]
RewriteRule ^plus/list([09]+)([09]+)([09]+).html$ /plus/list.php?tid=$1&totalresult=$2&PageNo=$3 [L]

Dedecms 5.3 伪静态及 Rewrite 规则设置指南

1. 准备工作

在开始之前,请确保以下准备工作已完成:

Dedecms 5.3 已安装并正常运行。

服务器支持伪静态功能,如 Apache 或 Nginx。

服务器已安装并开启了 mod_rewrite 模块(对于 Apache)。

2. 修改配置文件

2.1 Apache 服务器

1、打开 Apache 的配置文件httpd.confhttpd.conf 的备份文件。

2、找到LoadModule 行,确保mod_rewrite 模块已被加载,如果没有,取消注释并添加以下行:

“`

LoadModule rewrite_module modules/mod_rewrite.so

“`

3、在httpd.conf 文件中找到DirectoryIndex 行,确保其设置为:

如何正确配置DedeCMS 5.3的伪静态和rewrite规则?

“`

DirectoryIndex index.html index.htm index.php

“`

4、在httpd.conf 文件的末尾添加以下行以启用 Rewrite 模块:

“`

RewriteEngine On

“`

2.2 Nginx 服务器

1、打开 Nginx 的配置文件,通常位于/etc/nginx/nginx.conf

2、找到http 部分,添加以下行以启用 Rewrite 模块:

“`

rewrite_engine on;

“`

3. 设置 Rewrite 规则

3.1 Dedecms 伪静态规则

1、登录 Dedecms 管理后台。

2、前往“系统设置” > “系统参数”。

3、在“URL静态设置”中,选择“开启URL静态方式”。

4、保存设置后,Dedecms 会自动生成伪静态规则。

3.2 Apache Rewrite 规则示例

以下是一个简单的 Apache Rewrite 规则示例,用于处理 Dedecms 的文章和标签页面:

RewriteEngine On
RewriteBase /
RewriteRule ^article([09]+)([azAZ09]+).html$ /plus/view.php?aid=$1 [L]
RewriteRule ^tags([azAZ09]+).html$ /plus/tags.php?tags=$1 [L]

3.3 Nginx Rewrite 规则示例

以下是一个简单的 Nginx Rewrite 规则示例,用于处理 Dedecms 的文章和标签页面:

location / {
    rewrite ^article([09]+)([azAZ09]+).html$ /plus/view.php?aid=$1 last;
    rewrite ^tags([azAZ09]+).html$ /plus/tags.php?tags=$1 last;
}

4. 测试和保存

1、保存所有修改后的配置文件。

2、重启 Apache 或 Nginx 服务以应用新的配置。

3、在浏览器中访问一个静态页面(如文章或标签页面),检查链接是否正确转换为静态链接。

5. 注意事项

在修改服务器配置之前,请确保备份原始配置文件。

如果遇到错误,请检查配置文件中的语法错误或路径错误。

伪静态规则可能需要根据实际的 Dedecms 版本和服务器环境进行调整。

通过以上步骤,您应该能够成功设置 Dedecms 5.3 的伪静态及 Rewrite 规则。

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1132342.html

(0)
未希的头像未希新媒体运营
上一篇 2024-10-03 00:10
下一篇 2024-10-03 00:12

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

免费注册
电话联系

400-880-8834

产品咨询
产品咨询
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购  >>点击进入