在DedeCMS系统中,TAG标签伪静态设置是一项重要的SEO优化措施,通过将动态的TAG标签URL转换为静态化的格式,可以提升网站的搜索引擎友好度和用户体验,以下是详细的步骤和相关配置:
修改tag.php文件
1、找到并替换代码:
打开DedeCMS程序目录下的tags.php
文件。
查找以下代码段:
$PageNo=1
到
exit();
将上述代码段替换为以下内容:
//tag伪静态
$tagid = (isset($tagid) && is_numeric($tagid)) ? $tagid : 0;
$PageNo = (isset($PageNo) && is_numeric($PageNo)) ? $PageNo : 1;
if ($tagid == "0") {
$dlist = new TagList($tag, 'tag.htm');
$dlist>Display();
} else {
$row = $dsql>GetOne("SELECT tag FROM#@__tagindex
WHERE id ={$tagid}");
if (!is_array($row)) {
ShowMsg('系统无此tag', '1');
exit();
}
$tag = FilterSearch($row['tag']);
$dlist = new TagList($tag, 'taglist.htm');
$dlist>Display();
}
exit();
修改taglib.php文件
1、找到并替换链接生成代码:
打开include/taglib/tag.lib.php
文件。
找到以下代码:
$row['link'] = $cfg_cmsurl."/tags.php?/".urlencode($row['keyword'])."/";
将其替换为:
$row['link'] = "/tags/".urlencode($row['keyword']).".html";
修改分页代码
1、找到并替换分页函数:
打开include/arc.taglist.class.php
文件。
找到以下代码段(通常位于获取上一页和下一页链接的部分):
//获得上一页和下一页的链接 if($this>PageNo != 1) { $prepage.="<li><a href='".$purl."_$prepagenum.html'>上一页</a></li>r "; $indexpage="<li><a href='".$purl.".html'>首页</a></li>r "; } else { $indexpage="<li><a href='$purl.html'>首页</a></li>r "; } if($this>PageNo!=$totalpage && $totalpage>1) { $nextpage.="<li><a href='".$purl."_$nextpagenum.html'>下一页</a></li>r "; $endpage="<li><a href='".$purl."_$totalpage.html'>末页</a></li>r "; } else { $endpage="<li><a>末页</a></li>r "; }
将上述代码替换为:
//获得上一页和下一页的链接 if($this>PageNo != 1) { $prepage.="<li><a href='".$purl."_$prepagenum.html'>上一页</a></li>r "; $indexpage="<li><a href='".$purl.".html'>首页</a></li>r "; } else { $indexpage="<li><a href='$purl.html'>首页</a></li>r "; } if($this>PageNo!=$totalpage && $totalpage>1) { $nextpage.="<li><a href='".$purl."_$nextpagenum.html'>下一页</a></li>r "; $endpage="<li><a href='".$purl."_$totalpage.html'>末页</a></li>r "; } else { $endpage="<li><a>末页</a></li>r "; }
设置伪静态规则
根据不同的服务器环境(Apache、Nginx、IIS),需要添加不同的伪静态规则,以下是各环境下的规则示例:
1. Apache环境下的伪静态规则
在网站根目录创建或编辑.htaccess
文件,添加以下规则:
RewriteEngine on RewriteBase / RewriteRule ^tags/([09]+)_([09]+).html$ tags.php?tagid=$1&PageNo=$2 [L] RewriteRule ^tags/([09]+).html$ tags.php?tagid=$1 [L]
2. Nginx环境下的伪静态规则
在Nginx配置文件中添加以下规则:
rewrite "^/tags/([09]+).html$" /tags.php?tagid=$1 last; rewrite "^/tags/([09]+)_([09]+).html$" /tags.php?tagid=$1&PageNo=$2 last;
3. IIS环境下的伪静态规则
在web.config
文件中添加以下规则:
<configuration> <system.webServer> <rewrite> <rules> <rule name="weather1" stopProcessing="true"> <match url="tags/([09]+).html$" ignoreCase="true" /> <conditions logicalGrouping="MatchAll"> <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> </conditions> <action type="Rewrite" url="/tags.php?tagid={R:1}" appendQueryString="false" /> </rule> <rule name="weather2" stopProcessing="true"> <match url="tags/([09]+)_([09]+).html$" ignoreCase="true" /> <conditions logicalGrouping="MatchAll"> <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> </conditions> <action type="Rewrite" url="/tags.php?tagid={R:1}&PageNo={R:2}" appendQueryString="false" /> </rule> </rules> </rewrite> </system.webServer> </configuration>
FAQs:常见问题解答
问题1: 如果设置了伪静态但访问时出现404页面怎么办?
答案1: 如果设置了伪静态但访问时出现404页面,可能是因为伪静态规则没有正确配置,请检查您的服务器环境(Apache、Nginx、IIS)对应的伪静态规则是否正确,并根据需要进行相应的调整,确保.htaccess
文件(对于Apache)或web.config
文件(对于IIS)中的重写规则无误,并且文件已上传至正确的目录,如果问题依然存在,请检查服务器是否支持伪静态功能,并与服务器管理员联系确认配置,清除浏览器缓存或尝试使用隐私模式浏览也可能帮助解决一些由于缓存引起的404错误,检查是否有其他插件或设置冲突导致的问题。
问题2: 如何验证伪静态设置是否成功?
答案2: 要验证伪静态设置是否成功,可以通过以下几个步骤进行:在完成伪静态设置后,重新生成网站的站点地图或更新旧的站点地图,使用站长工具(如Google Search Console、Bing Webmaster Tools等)提交更新后的站点地图,以便搜索引擎重新抓取和索引,通过浏览器的“查看页面源代码”功能,检查生成的页面链接是否采用了新的伪静态格式,可以使用在线HTTP状态码检测工具(如HTTPStatus.io)输入几个具体的伪静态链接,检查返回的状态码是否为200(表示页面正常访问),观察网站日志文件(如Apache的access.log或Nginx的error.log),查看是否有针对新伪静态链接的访问记录,以及这些请求的处理结果,如果以上步骤均显示正常,则说明伪静态设置已成功。
序号 | 设置项目 | 描述 | 举例 |
1 | 网站根目录 | 确保网站根目录下有dedeCMS的安装文件 | /wwwroot/dede/ |
2 | 网站配置文件 | 修改dedeCMS的配置文件inc/config.php,开启伪静态功能 | 修改以下代码:$cfg_statichtml = 1; |
3 | 伪静态规则 | 根据服务器类型选择合适的伪静态规则 | 以下为常见规则示例:RewriteEngine On |
4 | 网站根目录下的robots.txt | 修改robots.txt文件,允许搜索引擎抓取伪静态页面 | 添加以下代码:Useragent: |
5 | 修改TAG标签模板 | 修改TAG标签模板文件,确保支持伪静态路径 | /templets/default/tags_list.htm |
6 | 修改URL重写配置 | 在网站后台的URL重写配置中,添加TAG标签的规则 | 添加TAG标签的URL规则,设置规则为“/tags/{tag}/” |
7 | 保存设置并重启服务器 | 保存所有修改,并重启服务器使配置生效 | |
8 | 测试伪静态效果 | 在浏览器中访问TAG标签页面,查看是否成功生成伪静态链接 | http://www.example.com/tags/tagname/ |
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1190456.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复