Apache開(kāi)啟URL重寫(xiě)功能方法
1、關(guān)于rewrite模塊的調(diào)用:
Apache 2.x 中URL重寫(xiě),是通過(guò)mod_rewrite.so 來(lái)實(shí)現(xiàn)的,所以您要查看您的Apache 是否已經(jīng)被編譯進(jìn)去這個(gè)模塊了,并且在Apache的配置文件httpd.conf 中已經(jīng)調(diào)用了這個(gè)模塊。在大多數(shù)主流發(fā)行版中,Apache 2.x 是把rewrite模塊已經(jīng)編入進(jìn)去了。比如我用的是Slackware。Apache 2.x的配置文件,放在 /etc/httpd 目錄下。
在 httpd.conf 中,我們會(huì)發(fā)現(xiàn)類(lèi)似如下的一行,是有關(guān)rewrite模塊的,模塊名是 mod_rewrite.so 。
LoadModule rewrite_module lib/httpd/modules/mod_rewrite.so
或
LoadModule rewrite_module lib/apache2/modules/mod_rewrite.so 如果前面有#號(hào),您要去掉。對(duì)于大多數(shù)發(fā)行版來(lái)說(shuō),Apache 2的模塊一般是位于如下的兩個(gè)位置
/usr/lib/apache2/modules
或
/usr/lib/httpd/modules 如果在httpd中打開(kāi)調(diào)用rewrite_module的設(shè)置,查看一下是不是能調(diào)用了,要通過(guò) httpd -M的參數(shù)來(lái)查看;
#/usr/sbin/httpd -M
如果發(fā)現(xiàn)有如下一行,說(shuō)明模塊已經(jīng)能被調(diào)用了
rewrite_module (shared)
2、設(shè)置DocumentRoot的Directory:
在Apache 2.x 中,我們會(huì)看到 DocumentRoot設(shè)置的一行。這行就是存放網(wǎng)頁(yè)程序的地方。比如LinuxSir.Org 存放在 /opt/www 目錄中。那么我們就要設(shè)置 DocumentRoot為如下的。
DocumentRoot "/opt/www" 然后我們?cè)龠€要對(duì) DocumentRoot做針對(duì)性的行為設(shè)置。在一般的情況下,httpd.conf 會(huì)給一個(gè)默認(rèn)的。如果你要改 DocumentRoot的路徑,同時(shí)也要改針對(duì)DocumentRoot的Directory的設(shè)置,也就是
<Directory "DocumentRoot所設(shè)置的路徑">
比如我們把DocumentRoot的路徑改為了 "/opt/www",那我們也要把Directory做針對(duì)性的行為設(shè)置也要改成這個(gè)路徑。
<Directory "/opt/www">
Options FollowSymLinks
#AllowOverride None 注:把這行前面加#號(hào),然后加下面的一行 ,也就是 AllowOverride ALL
AllowOverride ALL
Order allow,deny
Allow from all
</Directory> 我們把AllowOverride 的參數(shù)設(shè)置為ALL,表示整臺(tái)服務(wù)器上的,都支持URL規(guī)則重寫(xiě)。Apache 服務(wù)器要讀每個(gè)網(wǎng)站根目錄下的 .htaccess 文件。如果沒(méi)有這個(gè)文件,或者這個(gè)文檔沒(méi)有定義任何關(guān)于URL重寫(xiě)的規(guī)則,則不會(huì)有任何效果。在一般的情況下,成熟的Web 服務(wù)器應(yīng)用套件,都支持URL重寫(xiě)的,比如drupal和joomla 。當(dāng)我們用這些程序時(shí),會(huì)發(fā)現(xiàn)在安裝包中有 .htaccess中有這個(gè)文件。我們把Apache配置好后,只是需要在這些程序的后臺(tái)打開(kāi)此功能就行了。
3、重啟httpd服務(wù)器:
在一般情況下,在各個(gè)發(fā)行版中,都有httpd服務(wù)器啟動(dòng)腳本,比如
# /etc/rc.d/rc.httpd restart 注:Slackware Linux
# /etc/init.d/apache2 restart 注:ubuntu、Debian 等;
# /etc/init.d/httpd start 注:Fedora 、Redhat、CentOS
關(guān)鍵詞:Apache,URL重寫(xiě)
閱讀本文后您有什么感想? 已有 人給出評(píng)價(jià)!
- 0
- 0
- 0
- 0
- 0
- 0