Discuz! X2在Apache下設置偽靜態.Htaccess
來源:程序員人生 發布時間:2014-01-31 21:12:09 閱讀次數:2802次
日前,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 中文版下載
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈