Discuz htaccess文件 伪静态
Discuz x2.0的发布引起万千站长疯狂下载升级使用,而大多数站长,在升级或新安装后,都发现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=$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