由于DiscuzX2.5后台没有分区的SEO设置,只能自己动手改了。
要实现如下效果:
请求路径 xxx/forum-gid-2.html 实际访问 xxx/forum.php?gid=2
下面分别是针对apache及nginx的rewrite
apache:
RewriteRule ^forum-gid-([0-9]+)\.html$ forum.php?gid=$1
Nginx:
rewrite ^/forum-gid-([0-9]+).html$ /forum.php?gid=$1;
另外还要对原有的链接进行 301 跳转:
Nginx:
if ($request_uri ~* "^/forum.php\?gid=(\d+)$") {
set $param1 $1;
rewrite (.*) /forum-gid-$param1.html? permanent;
}
然后修改如下文件:
template\default\forum\ajax_forumlist.htm
template\default\forum\discuz.htm
template\default\forum\post_forumselect.htm
template\default\forum\stat_team.htm
(其实就是在template文件夹中全局搜索 forum.php?gid 这串字符)
然后把文件中的 forum.php?gid=$gid 改成 forum-gid-$gid.html
本文详细介绍了如何针对DiscuzX2.5后台无法直接设置SEO分区的问题,通过Apache和Nginx的rewrite规则实现URL重定向,并对原有链接进行301跳转优化,同时提供了对特定模板文件中URL的全局替换方法。
2016

被折叠的 条评论
为什么被折叠?



