Discuz是一款流行的開源論壇軟件,廣泛應用于各種網站中。在使用Discuz建立論壇網站時,許多站長都想去掉論壇地址中的"forum.php",以達到美化網站的目的。本文將詳細介紹如何去掉Discuz論壇網址中的"forum.php"。
一、為何需要去掉"forum.php"
Discuz默認的論壇網址是"domain.com/forum.php",在大多數情況下,這樣的網址并不美觀。而且,若將論壇網頁的唯一標識使用"forum.php",容易被非法抓取網頁信息的程序所識別和采集,會帶來一定的安全風險。因此,去掉"forum.php"可以提高論壇網站的美觀性和安全性。
二、去掉"forum.php"的兩種方法
1.類似于偽靜態的方法
這種方法的本質是將動態網頁轉換為靜態網頁模式,用戶訪問網頁時并不會出現"forum.php"。其實現方式類似于偽靜態,通過服務器HTACCESS配置文件,將會被訪問的網址重寫為自定義的靜態地址。具體實現步驟如下:
1.在Discuz的根目錄下新建.htaccess文件
2.在.htaccess文件中添加以下代碼:
<IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^forum-([A-Za-z0-9]+)\.html$ forum.php?mod=forumdisplay&fid=$1 RewriteRule ^forum-([A-Za-z0-9]+)-([A-Za-z0-9]+)\.html$ forum.php?mod=forumdisplay&fid=$1&page=$2 RewriteRule ^thread-([A-Za-z0-9]+)\.html$ forum.php?mod=viewthread&tid=$1 RewriteRule ^thread-([A-Za-z0-9]+)-([A-Za-z0-9]+)\.html$ forum.php?mod=viewthread&tid=$1&page=$2 </IfModule>
在上述代碼中,主要是為Discuz中的討論版塊(forumdisplay)和帖子(viewthread)設置了偽靜態的規則,如:/forum-1.html代表討論版塊1,/thread-1.html代表帖子1。重寫之后的URL看起來更加美觀,感覺更具有搜索引擎的友好性。
2.通過URL路由設置
這種方法是擴展URL路由規則的方式,可以讓Discuz自動解析被訪問的頁面,并以靜態的網頁形式呈現。其實現步驟如下:
1.進入Discuz后臺,“論壇”->“設置”->“SEO設置”,找到“使用rewrite”,把選項設為“開啟”。
2.將rewrite.php上傳到Discuz的根目錄下。
3.將.htaccess文件中的如下代碼添加:
RewriteRule ^thread-(.*)-(.*).html$ rewrite.php?hash=thread-$1-$2&page=$3&type=t RewriteRule ^thread-(.*).html$ rewrite.php?hash=thread-$1&type=t
這樣就可以在URL中去掉"forum.php",并且實現通過URL直接訪問頁面,而不需要輸入參數。
總之,無論采用哪種方法,都可以去掉Discuz論壇網址中的"forum.php",提高網站的美觀性和安全性。使用后可以使得站點變得友好,更便于使用和分享,因此,以上兩種方法都值得嘗試。