引用 | 編輯
n5998744
2011-01-16 15:50 |
樓主
|
||
x0
什麼是URL 靜態化 進行 URL 靜態化轉換,形成類似 http://www.discuz.net/forum-2-1.html形式的超級鏈接 參考資料 : 分享Discuz! URL 靜態化 配置使用(獨立主機用戶) http://www.discuz.net/thread-1537137-1-6.html Flash: Apache下開啟Rewrite偽靜態影像教學 下載地址:http://download.comsenz.com/teach/video/rewrite_apache.zip ===================================== ====================================== 我的主機環境 : 一般主機 System : Windows NT ###### ApacheFriends XAMPP (Basispaket) version 1.7.1 ###### + Apache 2.2.11 + MySQL 5.1.33 (Community Server) + PHP 5.2.9 + PEAR (Support for PHP 4 has been discontinued) + XAMPP Control Version 2.5 from www.nat32.com + XAMPP CLI Bundle 1.3 from Carsten Wiedmann + XAMPP Security 1.0 + SQLite 2.8.15 + OpenSSL 0.9.8i + phpMyAdmin 3.1.3.1 + ADOdb 5.06a + Mercury Mail Transport System v4.62 + FileZilla FTP Server 0.9.31 + Webalizer 2.01-10 + Zend Optimizer 3.3.0 + eAccelerator 0.9.5.3 f PHP 5.2.9 (but not activated in the php.ini) ====================================== [獨立主機設定] 重點資料 Discuz! URL 靜態化(以下簡稱 URL 靜態化)功能可以將 Discuz! Archiver 及部分常用頁面(如 主題列表頁面 forumdisplay.php、主題內容頁面 viewthread.php、個人資料頁面 space.php、標籤頁面 tag.php 等)進行 URL 靜態化轉換,形成類似 http://www.discuz.net/forum-2-1.html 形式的超級鏈接,從而使論壇內容更容易被搜索引擎挖掘,提高被收錄的機率。 您可以通過 系統設置 => 全局 => 優化設置 => 搜索引擎優化 => URL靜態化 來控制需要靜態化的頁面。 本功能對服務器環境有特殊要求,獨立主機用戶需要對 Web 服務器增加相應的 Rewrite 規則,因此需要服務器權限才可使用。對於虛擬主機用戶,您需要向您的空間服務商進行咨詢:空間是否支持 Rewrite 以及是否支持對站點目錄中 .htaccess 的文件解析,只有滿足這兩條件,URL 靜態化 功能才會生效。 打開 URL 靜態化 後,論壇一些常用鏈接會變成類似 http://www.discuz.net/forum-2-1.html 形式,如果您的服務器環境不支持或者尚未配置好,訪問這些鏈接會出現「網頁無法顯示」的錯誤信息,論壇將無法正常訪問。發生無法訪問的現象時,請您進入管理後台,關閉 URL 靜態化 功能,論壇即可恢復正常狀態。 Discuz! URL 靜態化 功能受到論壇所在服務器環境的制約,在開啟此功能之前,請根據你的 Web 服務器環境,選擇相應的環境配置方法。錯誤的設置有可能造成服務器無法啟動或者功能無效。 Apache Web Server(獨立主機用戶) 首先確定您使用的 Apache 版本,還有是否加載了 mod_Rewrite 模塊。 ---------------------------------------------------------------------------------------------------------------------- Apache 1.x 的用戶請檢查 C: \ xampp \ apache \ conf \ httpd.conf 中是否存在如下兩段代碼:LoadModule rewrite_module libexec/mod_rewrite.soAddModule mod_rewrite. LoadModule rewrite_module libexec/mod_rewrite.so</PRE><PRE>AddModule mod_rewrite.c ---------------------------------------------------------------------------------------------------------------------- Apache 2.x 的用戶請檢查 C: \ xampp \ apache \ conf \ httpd.conf 中是否存在如下一段代碼:LoadModule rewrite_module modules/mod_rewrite.s LoadModule rewrite_module modules/mod_rewrite.so ---------------------------------------------------------------------------------------------------------------------- 如果存在,那麼在配置文件(通常就是 C: \ xampp \ apache \ conf \ httpd.conf)中加入如下代碼。此時請務必注意,如果網站使用通過虛擬主機來定義,請務必加到虛擬主機配置,即<VirtualHost> 中去,如果加在虛擬主機配置外部將可能無法使用。改好後將 Apache 重新啟動。 複製程式 <IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^(.*)/archiver/((fid|tid)-[\w\-]+\.html)$ $1/archiver/index.php?$2 RewriteRule ^(.*)/forum-([0-9]+)-([0-9]+)\.html$ $1/forumdisplay.php?fid=$2&page=$3 RewriteRule ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/viewthread.php?tid=$2&extra=page\%3D$4&page=$3 RewriteRule ^(.*)/space-(username|uid)-(.+)\.html$ $1/space.php?$2=$3 RewriteRule ^(.*)/tag-(.+)\.html$ $1/tag.php?name=$2 </IfModule> 如果沒有安裝 mod_Rewrite,您可以重新編譯 Apache,並在原有 configure 的內容中加入 --enable-Rewrite=shared,然後再在 Apache 配置文件中加入上述代碼即可。 上面最後這一句我不懂他在說什麼!?所以最後一句我沒做,其餘我都照獨立主機設定 來作了 , 以上是官方教學http://faq.comsenz.com/viewnews-790 所摘錄 , 我的 結果是成功的 . x0
|