本文目录一览:
- 1、discuz 首页如何设置伪静态?比如https://www.discuz.net/forum.php? 改为https://www.discuz.net/就行
- 2、如何为 Discuz,X2 配置伪静态规则
- 3、discuz版块目录化和贴子目录化伪静态设置求助
- 4、Discuz如何设置伪静态
- 5、discuz怎么才能把专题目录也实现伪静态的方法详解
discuz 首页如何设置伪静态?比如https://www.discuz.net/forum.php? 改为https://www.discuz.net/就行
点击管理后台——全局——SEO设置——URL静态化;
将所有选项打勾,并且设置“仅对游客有效”为否,然后提交;
点击DISCUZ论坛提供的伪静态代码链接,里面提供了很多的伪静态代码;
根据你的服务器选择静态代码,新建123.txt文件,将上述静态代码复制进去,通过FTP上传到自己网站空间根目录下,然后重命名为“.htaccess”;
这样DISCUZ论坛伪静态设置就成功了。
如何为 Discuz,X2 配置伪静态规则
首先
打开source\function下的function_core.php
找到
if($type ==
'forum_forumdisplay') {
list(,,, $fid, $page, $extra) =
func_get_args();
$r = array(
'{fid}' =
empty($_G['setting']['forumkeys'][$fid]) ? $fid :
$_G['setting']['forumkeys'][$fid],
'{page}' = $page ? $page :
1,
);
} elseif($type == 'forum_viewthread') {
list(,,, $tid, $page, $prevpage, $extra) = func_get_args();
$r =
array(
'{tid}' = $tid,
'{page}' = $page ?
$page : 1,
'{prevpage}' = $prevpage !IS_ROBOT ?
$prevpage : 1,
);
改为
if($type == 'forum_forumdisplay') {
list(,,, $fid, $page,
$extra) = func_get_args();
$r = array(
'{fid}' =
empty($_G['setting']['forumkeys'][$fid]) ? $fid :
$_G['setting']['forumkeys'][$fid],
'{page}' = $page ,
);
} elseif($type == 'forum_viewthread') {
list(,,, $tid, $page, $prevpage, $extra) = func_get_args();
$fid =
DB::result_first("SELECT fid FROM ".DB::table('forum_thread')." WHERE tid =
'$tid'");
$r = array(
'{fid}' =
empty($_G['setting']['forumkeys'][$fid]) ? $fid :
$_G['setting']['forumkeys'][$fid],
'{tid}' = $tid,
'{page}' = $page ,
'{prevpage}' = $prevpage
!IS_ROBOT ? $prevpage : 1,
);
然后进入网站后吧-''seo设置"-"url静态化"
在"论坛主题列表页"的格式中填写:{fid}/{page}
在"论坛主题内容页"的格式中填写:{fid}/m{tid}/{page}
然后工具,更新缓存,即实现了版块目录化,贴子目录化
在"论坛"-"版块管理"中的"绑定别名"即是版块目录名
把下面这段代码复制到你的.htaccess文件里,如果没有就新建一个,放到网站跟目录
# 将 RewriteEngine 模式打开
RewriteEngine On
# 修改以下语句中的RewriteBase 后的地址为你的论坛目录地址,如果程序放在根目录中,为 /,如果是相对论坛根目录是其他目录则写为 /{目录名},如:在bbs 目录下,则写为 /bbs
RewriteBase /
# Rewrite 系统规则请勿修改
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^topic-(.+)\.html$ portal.php?mod=topictopic=$1%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^article-([0-9]+)-([0-9]+)\.html$ portal.php?mod=viewaid=$1page=$2%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(\w+)/([0-9]+)$ forum.php?mod=forumdisplayfid=$1page=$2%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^thread-([0-9]+)-([0-9]+)\.html$ forum.php?mod=viewthreadtid=$1extra=page\%3D$3page=$2%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^group-([0-9]+)-([0-9]+)\.html$ forum.php?mod=groupfid=$1page=$2%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^space-(username|uid)-(.+)\.html$ home.php?mod=space$1=$2%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^([a-z]+)-(.+)\.html$ $1.php?rewrite=$2%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule forum-([0-9a-z_]+)-([0-9]+)\.html$ forum.php?mod=forumdisplayfid=$1page=$2%1
## 保留前面的部分可以不影响已经被搜索引擎收录的页面
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule /([0-9]+)(/([0-9]+))?(/)?$ forum.php?mod=viewthreadtid=$1extra=page\%3D$5page=$3%1 [L,NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^([0-9a-z_]+)(/([0-9]+))?(/)?$ forum.php?mod=forumdisplayfid=$1page=$3%1 [L,NC]
discuz版块目录化和贴子目录化伪静态设置求助
不同的主机,使用不同的伪静态规则才能使之实现伪静态。如果你的是Apache主机,请把下面代码复制到记事本,保存为.htaccess并上传到空间根目录即可
# Helicon ISAPI_Rewrite configuration file
# Version 3.1.0.82
# 将 RewriteEngine 模式打开
RewriteEngine On
# 修改以下语句中的 /discuz 为你的论坛目录地址,如果程序放在根目录中,请将 /discuz 修改为 /
RewriteBase /
# Rewrite 系统规则请勿修改
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^topic-(.+)\.html$ portal.php?mod=topictopic=$1%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^article-([0-9]+)-([0-9]+)\.html$ portal.php?mod=viewaid=$1page=$2%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^forum-(\w+)-([0-9]+)\.html$ forum.php?mod=forumdisplayfid=$1page=$2%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ forum.php?mod=viewthreadtid=$1extra=page\%3D$3page=$2%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^group-([0-9]+)-([0-9]+)\.html$ forum.php?mod=groupfid=$1page=$2%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^space-(username|uid)-(.+)\.html$ home.php?mod=space$1=$2%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^blog-([0-9]+)-([0-9]+)\.html$ home.php?mod=spaceuid=$1do=blogid=$2%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^archiver/(fid|tid)-([0-9]+)\.html$ archiver/index.php?action=$1value=$2%1
如果你是IIS主机,复制下面代码到记事本,保存为http.ini然后上传到空间根目录即可
[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
# Protect httpd.ini and httpd.parse.errors files
# from accessing through HTTP
RewriteRule ^(.*)/topic-(.+)\.html(\?(.*))*$ $1/portal\.php\?mod=topictopic=$2$4
RewriteRule ^(.*)/article-([0-9]+)-([0-9]+)\.html(\?(.*))*$ $1/portal\.php\?mod=viewaid=$2page=$3$5
RewriteRule ^(.*)/forum-(\w+)-([0-9]+)\.html(\?(.*))*$ $1/forum\.php\?mod=forumdisplayfid=$2page=$3$5
RewriteRule ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html(\?(.*))*$ $1/forum\.php\?mod=viewthreadtid=$2extra=page\%3D$4page=$3$6
RewriteRule ^(.*)/group-([0-9]+)-([0-9]+)\.html(\?(.*))*$ $1/forum\.php\?mod=groupfid=$2page=$3$5
RewriteRule ^(.*)/space-(username|uid)-(.+)\.html(\?(.*))*$ $1/home\.php\?mod=space$2=$3$5
RewriteRule ^(.*)/blog-([0-9]+)-([0-9]+)\.html(\?(.*))*$ $1/home\.php\?mod=spaceuid=$2do=blogid=$3$5
RewriteRule ^(.*)/(fid|tid)-([0-9]+)\.html(\?(.*))*$ $1/index\.php\?action=$2value=$3$5
Discuz如何设置伪静态
Discuz的伪静态设置,其实就是两步:
1、登录后台在全局SEO设置中开启伪静态,就会自动生成规则;
2、将对应主机或服务器的规则放到配置文件里面,将文件放到相应位置就行了。
虚拟主机不同,具体设置可能不一样。
discuz怎么才能把专题目录也实现伪静态的方法详解
专题目录不清楚是什么,可能你需要的是“目录化伪静态”。
默认就是有伪静态的,topic-{name}.html
我的做法是topic改为zt,-改为/。
效果就是域名/zt/name.html
后台seo处和伪静态规则文件都改下就可以了。