配置步驟:
第一步:找到apache的配置文件httpd.conf(文件在conf目錄下)
第二步:你首先必須得讓服務器支持mod_rewrite,如果你使用的是虛擬主機,請事先詢問你的主機提供商。
打開httpd.conf,找到
#LoadModule rewrite_module modules/mod_rewrite.so
把#去掉
找到AllowOverride None 改成 AllowOverride All
注:AllowOverride 的參數設置爲ALL,表示整臺服務器上都支持URL規則重寫。Apache 服務器要讀每個網站下目錄下的 .htaccess 文件。如果沒有這個文件,或者這個文檔沒有定義任何關於URL重寫的規則就不會有任何效果。
對於不同的網址,需要在APACHE中增加如下內容
<Directory “E:/Apache Group/Apache2/htdocs/myweb”>
/*引號裏E:/Apache Group/Apache2/htdocs/myweb代表你的web存放目錄*/
/*如果是Linux,只要你定位到你網站目錄即可*/
Options FollowSymLinks
AllowOverride None
</Directory>
第三步:將Rewrite 配置規則加入到httpd.conf文件裏(以下代碼)
Apache Web Server(獨立主機用戶):
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)/topic-(.+)\.html$ $1/portal.php?mod=topic&topic=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)/article-([0-9]+)-([0-9]+)\.html$ $1/portal.php?mod=view&aid=$2&page=$3&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)/forum-(\w+)-([0-9]+)\.html$ $1/forum.php?mod=forumdisplay&fid=$2&page=$3&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=viewthread&tid=$2&extra=page\%3D$4&page=$3&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)/group-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=group&fid=$2&page=$3&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)/space-(username|uid)-(.+)\.html$ $1/home.php?mod=space&$2=$3&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)/blog-([0-9]+)-([0-9]+)\.html$ $1/home.php?mod=space&uid=$2&do=blog&id=$3&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)/(fid|tid)-([0-9]+)\.html$ $1/index.php?action=$2&value=$3&%1
</IfModule>
第四步:新建一個文件.htaccess
,然後把如下代碼複製進去保存好:
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^topic-(.+)\.html$ portal.php?mod=topic&topicid=$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
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^([a-z]+[a-z0-9_]*)-([a-z0-9_\-]+)\.html$ plugin.php?id=$1:$2&%1
注意:
1 .htaccess文件放在你的網站根目錄,在windows操作系統下若無法創建,可以這樣去弄出來,找到一個現成的文件或者隨便打開一個文本文件,然後另存爲,文件名取:.htaccess 就可以了。
2 RewriteBase / 這句意思是門戶網站所存放的目錄,如果你放在網站根目錄下 請保持不變,如果是別的目錄,比如我放在bbs目錄下,請修改成RewriteBase /bbs ,改了以後僞靜態成功,否則失敗。
第五步:重啓apache,在discuz後臺開啓url靜態功能