獨(dú)立主機(jī)用戶
創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),明山企業(yè)網(wǎng)站建設(shè),明山品牌網(wǎng)站建設(shè),網(wǎng)站定制,明山網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷(xiāo),網(wǎng)絡(luò)優(yōu)化,明山網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。Apache 基本配置:
首先確定您使用的 Apache 版本,及是否加載了 mod_Rewrite 模塊。
Apache 1.x 的用戶請(qǐng)檢查 conf/httpd.conf 中是否存在如下兩段代碼:
LoadModule Rewrite_module libexec/mod_Rewrite.so
AddModule mod_Rewrite.c
Apache 2.x 的用戶請(qǐng)檢查 conf/httpd.conf 中是否存在如下一段代碼:
LoadModule Rewrite_module modules/mod_Rewrite.so
如果沒(méi)有安裝 mod_Rewrite,您可以重新編譯 Apache,并在原有 configure 的內(nèi)容中加入 --enable-Rewrite=shared
注:如果前面有#,將其去掉。
方法一:通過(guò)配置Apache配置文件httpd.conf實(shí)現(xiàn)URL重寫(xiě)
在配置文件(通常就是 conf/httpd.conf)中加入如下代碼。
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
注:此時(shí)請(qǐng)務(wù)必注意,如果網(wǎng)站使用通過(guò)虛擬主機(jī)來(lái)定義,請(qǐng)務(wù)必加到虛擬主機(jī)配置,即
方法二:通過(guò)在根目錄中的跨越配置文件.htaccess實(shí)現(xiàn)URL重寫(xiě)
1.
配置apache支持對(duì) .htaccess 文件的解析
查找:
Options FollowSymLinks
AllowOverride None
修改為:
Options FollowSymLinks
AllowOverride All
man對(duì)AllowOverride 的解釋:
AllowOverride controls what directives may be placed in .htaccess files.
It can be "All", "None", or any combination of the keywords:
Options FileInfo AuthConfig Limit
就是說(shuō),將None改為All,.htaccess文件才能被支持!
2. 創(chuàng)建.htaccess文件Win32 系統(tǒng)下,無(wú)法直接建立 .htaccess 文件,您可以從其他系統(tǒng)中拷貝一份,或者在 Discuz.net 技術(shù)支持欄目中下載此文件。(附件中可下載)
3. 編輯.htaccess文件
# 將 RewriteEngine 模式打開(kāi)
RewriteEngine On
# .htaccess文件路徑,如果在系統(tǒng)跟目錄則為RewriteBase /,如果在根目錄下的其他文件夾,如在根目錄下的test文件夾,則為RewriteBase /test,此處將.htaccess放在根目錄下。
RewriteBase /discuz
# Rewrite 系統(tǒng)規(guī)則請(qǐng)勿修改
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
租用空間用戶(多是虛擬主機(jī)用戶)
1. 首先咨詢您的空間服務(wù)商,空間是否支持 Rewrite 以及是否支持對(duì)站點(diǎn)目錄中 .htaccess 的文件解析,否則即便按照下面的方法設(shè)置好了,也無(wú)法使用。
2. 創(chuàng)建.htaccess文件Win32 系統(tǒng)下,無(wú)法直接建立 .htaccess 文件,您可以從其他系統(tǒng)中拷貝一份,或者在 Discuz.net 技術(shù)支持欄目中下載此文件。
3. 編輯.htaccess文件
# 將 RewriteEngine 模式打開(kāi)
RewriteEngine On
# .htaccess文件路徑,如果在系統(tǒng)跟目錄則為RewriteBase /,如果在根目錄下的其他文件夾,如在根目錄下的test文件夾,則為RewriteBase /test,此處將.htaccess放在根目錄下。
RewriteBase /discuz
# Rewrite 系統(tǒng)規(guī)則請(qǐng)勿修改
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
二.Rewrite 規(guī)則
上面無(wú)論是在apache中設(shè)置的:
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
還在是文件.htaccess中添加的:
# 將 RewriteEngine 模式打開(kāi)
RewriteEngine On
# .htaccess文件路徑,如果在系統(tǒng)跟目錄則為RewriteBase /,如果在根目錄下的其他文件夾,如在根目錄下的test文件夾,則為RewriteBase /test,此處將.htaccess放在根目錄下。
RewriteBase /discuz
# Rewrite 系統(tǒng)規(guī)則請(qǐng)勿修改
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
其中都指明了URL重寫(xiě)規(guī)則。
請(qǐng)看:RewriteRule ^forum-([0-9]+)-([0-9]+).html$ forumdisplay.php?fid=$1&page=$2
這句說(shuō)明了URL為forumdisplay.php?fid=$1&page=$2可以寫(xiě)成forum-([0-9]+)-([0-9]+).html這種模式。
如:訪問(wèn)http://localhost/ forumdisplay.php?fid=1&page=2與訪問(wèn)http://localhost/ forum-1-2.html的效果是一樣的!
注:這些規(guī)則是可以自己寫(xiě)正則表達(dá)式隨意更改的。根據(jù)自己需要的格式。來(lái)定制URL重寫(xiě)規(guī)則。