現在大部分許多人都使網路上的免費網路空間(free hosting)架設論壇、留言板或是Blog…等等程式,
免費空間並不一定會開放一些函數,要使自己論壇實現靜態化狀態一方要是程式所產生,
另一方需要空間商有開放支援Rewrite(偽靜態模式),這都是我們要自己去確認清楚的。

    我就以我操作Discuz論壇實行Rewrite(偽靜態模式)做解釋範例,
本來Discuz論壇後台就有Rewrite這像功能可以選擇,但大部分人開啟卻無法產生靜態頁面,
選擇它後台裡的URL 靜態化( 主題列表頁面(forumdisplay.php)靜態化、主題內容頁面(viewthread.php)靜態化、
個人資料頁面(space.php)靜態化、標簽頁面(tag.php)靜態化、Discuz! Archiver 靜態化)一樣失敗找不到頁面,
東找西找的卻發現資料一大串,可是有我們要得嗎??!!有的,只是藏得很隱密,就比如本篇文章(>.<")

    注意,靜態化會拖累主機系統,所以大型論壇就請自己找個穩一點的空間,上面我說 Rewrite開了也沒用,URL 靜態化選項裡點了也沒用,
該怎麼辦??!!此時,我們就要再根目錄裡新增一個.htaccess文件宣告一些指令,
讓系統執行效果,一般我們用FTP上去看是看不到.htaccess的,所以讓我們搞不清楚到底能不能靜態化。


以下平台為『免費空間、Discuz! 7.0.0』;

第一步
新增檔案為.htaccess。

第二步
使用編輯軟體(如EmEditor)填入以下語法。

RewriteEngine on

# 修改以下語句中的 /bbs 為你的論壇目錄地址,如果程序放在根目錄中,請將 /bbs 修改為 /

# Rewrite 系統規則請勿修改

RewriteRule ^archiver/((fid|tid)-[\w\-]+\.html)$ archiver/index.php?$1

RewriteRule ^forum-([0-9]+)-([0-9]+)\.html$ forumdisplay.php?fid=$1&page=$2

RewriteRule ^thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ viewthread.php?tid=$1&extra=page\%3D$3&page=$2

RewriteRule ^space-(username|uid)-(.+)\.html$ space.php?$1=$2

RewriteRule ^tag-(.+)\.html$ tag.php?name=$1

記得儲存檔案。


第三步
開啟FTP軟體上傳.htaccess,到論壇目錄下
二進制上傳檔案,以免出處。



第四步
到論壇後台全局→優化設置→URL 靜態化:、Rewrite 兼容性 開啟。


第五步
更新緩存。然後我們可以到論壇隨意點一個頁面進入看網址是否已變成靜態化(等個1~3秒才會變化)

要看.htaccess其他語法請到.htaccess文件使用大全

 

同步於神樣綜合資訊論壇 http://godtype.cnkk.org/bbs/thread-560-1-1.html

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 monthday 的頭像
    monthday

    賺錢得好康

    monthday 發表在 痞客邦 留言(0) 人氣()