分享htaccess解决Discuz设置伪静态后网址404错误

国内著名的论坛管理软件,Discuz已经更新到了X2版本。论坛网页比较特殊,同一个主题经常有新的内容,默认网址格式也很复杂,对搜索引擎收录并不友好 。庆幸的是,Discuz完美支持后台一键设置网址伪静态,也就是.html后缀的形式。

但是,有许多站长反映,后台设置伪静态后,论坛栏目链接全部显示为404错误!这是htaccess文件未做调整导致的。

直接复制以下代码到Discuz网站安装根目录下的“.htaccess”文件内,保存即可。

RewriteBase /

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

注意!RewriteBase 要修改成Discuz安装目录,若安装在网站根目录,直接添加”/”即可,否则要出问题。

邻家小妹自拍(图片来源:imluren)

如果还有问题,请在下面留言。

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Posts

Begin typing your search term above and press enter to search. Press ESC to cancel.