Discuz是一款流行的開源論壇軟件,廣泛應用于各種網(wǎng)站中。在使用discuz建立論壇網(wǎng)站時,許多站長都想去掉論壇地址中的”forum.php”,以達到美化網(wǎng)站的目的。本文將詳細介紹如何去掉discuz論壇網(wǎng)址中的”forum.php”。
一、為何需要去掉”forum.php”
Discuz默認的論壇網(wǎng)址是”domain.com/forum.php”,在大多數(shù)情況下,這樣的網(wǎng)址并不美觀。而且,若將論壇網(wǎng)頁的唯一標識使用”forum.php”,容易被非法抓取網(wǎng)頁信息的程序所識別和采集,會帶來一定的安全風險。因此,去掉”forum.php”可以提高論壇網(wǎng)站的美觀性和安全性。
二、去掉”forum.php”的兩種方法
1.類似于偽靜態(tài)的方法
立即學習“PHP免費學習筆記(深入)”;
這種方法的本質(zhì)是將動態(tài)網(wǎng)頁轉(zhuǎn)換為靜態(tài)網(wǎng)頁模式,用戶訪問網(wǎng)頁時并不會出現(xiàn)”forum.php”。其實現(xiàn)方式類似于偽靜態(tài),通過服務器HTACCESS配置文件,將會被訪問的網(wǎng)址重寫為自定義的靜態(tài)地址。具體實現(xiàn)步驟如下:
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)設(shè)置了偽靜態(tài)的規(guī)則,如:/forum-1.html代表討論版塊1,/thread-1.html代表帖子1。重寫之后的URL看起來更加美觀,感覺更具有搜索引擎的友好性。
2.通過URL路由設(shè)置
這種方法是擴展URL路由規(guī)則的方式,可以讓Discuz自動解析被訪問的頁面,并以靜態(tài)的網(wǎng)頁形式呈現(xiàn)。其實現(xiàn)步驟如下:
1.進入Discuz后臺,“論壇”->“設(shè)置”->“SEO設(shè)置”,找到“使用rewrite”,把選項設(shè)為“開啟”。
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”,并且實現(xiàn)通過URL直接訪問頁面,而不需要輸入?yún)?shù)。
總之,無論采用哪種方法,都可以去掉Discuz論壇網(wǎng)址中的”forum.php”,提高網(wǎng)站的美觀性和安全性。使用后可以使得站點變得友好,更便于使用和分享,因此,以上兩種方法都值得嘗試。