Discuz! X2在Apache下设置伪静态.Htaccess

日前,Discuz x2.0的发布,给站长界带来一次小的骚动,因为QQ帐号登陆也变相的开放了,一些站长迫不及待的升级或新安装,但是在apache或nginx下都发现Discuz! x2.0的伪静态不生效,网小编通过搜集相关资料,发现这是官方发布Discuz x2.0时留下的一个BUG,只要通过小小的修改就能实现伪静态了。

首先要将这个BUG解决先,打开../source/function/function_core.php这个文件。

查找代码:

$_G['setting']['output']['preg']['search'] = str_replace('{CURHOST}',preg_quote($_G['siteurl']),$_G['setting']['output']['preg']['search']);

换成:

$_G['setting']['output']['preg']['search'] = str_replace('{CURHOST}',preg_quote($_G['siteurl'],'/'),$_G['setting']['output']['preg']['search']);

然后把下面的代码保存为.htaccess文件放于网站根目录:

# 将 RewriteEngine 模式打开
RewriteEngine On

# 修改以下语句中的 /discuz 为你的论坛目录地址,如果程序放在根目录中,请将 /discuz 修改为 /
RewriteBase /

# Rewrite 系统规则请勿修改
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^topic-(.+).html$ portal.php?mod=topic&topic=$1&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^article-([0-9]+)-([0-9]+).html$ portal.php?mod=view&aid=$1&page=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^forum-(w+)-([0-9]+).html$ forum.php?mod=forumdisplay&fid=$1&page=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^thread-([0-9]+)-([0-9]+)-([0-9]+).html$ forum.php?mod=viewthread&tid=$1&extra=page\%3D$3&page=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^group-([0-9]+)-([0-9]+).html$ forum.php?mod=group&fid=$1&page=$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=space&uid=$1&do=blog&id=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^archiver/(fid|tid)-([0-9]+).html$ archiver/index.php?action=$1&value=$2&%1

站长推荐:Discuz! X2.0 中文版下载

相关文章

**本资源可免费获取,请至尾部读阅!**Discuz素材资源交易论...
分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风...
最近工作需要IIS,自己的电脑又是Windows7系统,找了下安装的...
首先就是discuz,用起来真的是特别的好用,搭建的网站真的非...
1.找到图片路径拼装文件首先打开根目录下的template目录找到...
打开NavicatforMySQL找到数据表 pre_ucenter_members 把密...