,RewriteEngine on,RewriteCond %{REQUEST_FILENAME} !d,RewriteCond %{REQUEST_FILENAME} !f,RewriteCond %{REQUEST_FILENAME} !l,RewriteRule ^(.*)$ index.php/$1 [L,QSA],
“在Dedecms(织梦)CMS系统中,实现全站伪静态是提高网站SEO效果和用户体验的重要步骤,以下是对Dedecms织梦全站伪静态规则的详细介绍:
准备工作
1、服务器支持:确保服务器支持URL重写,如果是Apache服务器,可以直接在.htaccess文件中加入相应伪静态规则;如果是IIS服务器,则需要加载Rewrite组件,然后配置httpd.ini文件。
2、后台设置:在DedeCms后台进行相关设置,包括系统参数核心设置中选择使用伪静态,以及如果启用了问答模块,也需要在模块设置中开启伪静态。
PHP源码修改
1、/include/channelunit.func.php:修改GetFileName()函数和GetTypeUrl()函数,将动态链接格式改为伪静态链接格式。
2、/include/arc.listview.class.php:修改获取动态分页列表的GetPageListDM()函数,将默认的plus替换成category。
3、/include/arc.archives.class.php:修改获取动态分页列表的GetPagebreakDM()函数,将默认的plus替换成archives。
4、/include/taglib/tag.lib.php:修改lib_tag()函数下的$row[‘link’],将TAG标签URL中的“.php?”号去掉。
5、搜索伪静态:依次打开include文件夹下的channelunit.func.php、arc.searchview.class.php、arc.taglist.class.php以及/include/taglib/hotwords.lib.php,查找“search.php?”替换为“search.html?”。
6、问答伪静态:对于问答模块的伪静态实现,需要简单修改ask目录下的browser.php、question.php以及include目录下的common.inc.php、functions.inc.php等文件。
重写规则配置
1、Apache服务器:直接在.htaccess文件中加入相应的伪静态规则。
2、IIS服务器:加载Rewrite组件后,在httpd.ini文件中配置重写规则。
FAQs
1、Q1: 为什么开启DedeCms伪静态后,有些页面还是动态链接?
A1: 这可能是因为在后台设置或PHP源码修改中存在遗漏,或者重写规则配置不正确,请仔细检查上述步骤是否都已正确完成。
2、Q2: DedeCms V5.7版本的伪静态规则与之前版本有何不同?
A2: DedeCms V5.7版本在伪静态实现上有所变化,主要是文件路径的更改,原本在/include/channelunit.func.php中的修改,现在需要在/include/helpers/channelunit.helper.php中进行,问答模块的伪静态实现也有所不同,需要根据新版本的特点进行调整。
通过以上详细的介绍,相信您已经对Dedecms织梦全站伪静态有了全面的了解,在实际操作过程中,请根据具体版本和需求进行适当调整。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1215820.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复