在dedecms(织梦内容管理系统)中,伪静态重写设置是一项重要的功能,它不仅有助于提高网站的SEO效果,还能使URL更加美观和易于理解,以下是具体的设置方法:
开启后台伪静态功能
1、登录后台:需要登录到dedecms的后台管理界面。
2、系统设置:在后台左侧菜单栏中找到“系统”选项,点击进入后选择“核心设置”。
3、启用伪静态:在核心设置页面中,找到“是否使用伪静态”选项,将其设置为“是”,然后保存配置。
修改PHP文件以支持伪静态
1、打开include/helpers/channelunit.helper.php文件:使用文本编辑器或IDE打开网站根目录下的include/helpers/channelunit.helper.php
文件。
2、修改文章URL生成方式:在文件中找到以下代码(大约在162165行左右):
return $GLOBALS["cfg_plus_dir"]."/view".$aid.'1.html';
将其修改为:
return "/view".$aid.'1.html';
3、修改列表分页URL生成方式:在文件中找到以下代码(大约在232235行左右):
$reurl = $GLOBALS['cfg_phpurl']."/list.php?tid=".$typeid;
将其修改为:
$reurl = "/list".$typeid.".html";
4、保存文件:完成上述修改后,保存并关闭文件。
设置.htaccess或httpd.ini文件
根据服务器的不同,需要在不同的配置文件中添加伪静态规则。
1、对于Apache服务器:在网站根目录下创建或编辑.htaccess
文件,添加以下规则:
RewriteEngine On RewriteRule ^list([09]+).html$ /plus/list.php?tid=$1 [L] RewriteRule ^list([09]+)([09]+)([09]+).html$ /plus/list.php?tid=$1&totalresult=$2&PageNo=$3 [L] RewriteRule ^view([09]+)1.html$ /plus/view.php?arcID=$1 [L] RewriteRule ^view([09]+)([09]+).html$ /plus/view.php?aid=$1&pageno=$2 [L]
2、对于Nginx服务器:在网站根目录下的nginx.conf
文件中添加以下规则:
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;
3、对于IIS服务器:在网站根目录下的web.config
文件中添加以下规则:
<configuration> <system.webServer> <rewrite> <rules> <rule name="RewriteList" stopProcessing="true"> <match url="^list([09]+).html$" /> <action type="Rewrite" url="/plus/list.php?tid={R:1}" /> </rule> <! 其他规则类似 > </rules> </rewrite> </system.webServer> </configuration>
修改数据库设置
为了确保所有文档和栏目都设置为动态浏览,需要修改数据库。
1、将所有文档设置为“仅动态”:执行以下SQL语句:
update dede_archives set ismake=1;
2、将所有栏目设置为“使用动态页”:执行以下SQL语句:
update dede_arctype set isdefault=1;
FAQs常见问题解答
Q1: 为什么开启了伪静态后,网站还是显示动态URL?
A1: 可能的原因包括:1)伪静态规则设置不正确;2)服务器不支持URL重写;3).htaccess或httpd.ini文件权限不足,请检查相关设置和文件权限。
Q2: 如何在后台发布文章时默认选择“仅动态浏览”?
A2: 可以修改后台模板文件来实现,找到/dede/templets/article_add.htm
文件,将以下代码:
<input name="ishtml" type="radio" class="np" value="1" checked="checked" /> 生成HTML <input type="radio" name="ishtml" class="np" value="0"/> 仅动态浏览
修改为:
<input name="ishtml" type="radio" class="np" value="1" /> 生成HTML <input type="radio" name="ishtml" class="np" value="0" checked="checked"/> 仅动态浏览
这样,在发布文章时,“仅动态浏览”选项会被默认选中。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1208886.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复