linux 給沒有Rewrite模塊的Apache增加Rewrite模塊

想給論壇添加rewrite 模塊,以實現靜態功能。
但是服務器並沒有rewrite模塊被編譯,也沒有rewrite的原文件。
怎麼辦呢,還真的是巧婦難爲無米之炊。
從另一個服務器上直接拷貝一個過來,放到modules目錄下,然後在httpd.conf里加載。
這個想法太簡單了,不行。
把另外服務器上的源文件拷貝過來自己編譯希望可以。
拷貝兩個文件:mod_rewrite.c/mod_rewrite.h
開工了,但是也不確信行不行。相信我寫這個,最終還是可以了。
網上的資料先看看,但是不能全信。這就是爲什麼我要寫這篇文章了。如果都是千篇一律的話,直接網上拷貝一片貼上去算了。
就跟直接拷貝mod_rewirte.so到新的服務器一樣,往往問題的解決方法不都是完全一樣。

1、Apache安裝rewrite模塊的時候需要DBM支持,否則無法編譯。使用rpm -qa gdbm 查詢,如果沒有,需要先下載並安裝gdbm:
下載地址:ftp://ftp.gnu.org/gnu/gdbm/

安裝步驟: 
./configure
make
make install
make install-compat (如果不執行此步,無法編譯出ndbm.h頭文件)


2:
/usr/local/apache2/bin/./apxs -c mod-rewrite.c -lgdbm
記得編譯命令前的 ./ 這個太重要了。算然都可以運行,但是加與不加是不一樣的。同時也決定了你能不能成功。
之後會生成幾個文件,但是最重要的是 這個:mod_rewrite.o
3:
編譯上一步生成的mod_rewrite.o文件,生成我們最終想要的mod_rewrite.so文件。
gcc -shared -o mod_rewrite.so mod_rewrite.o -lgdbm

4:
第四步了吧,馬上就要打工告成了,當然我還中途犯錯,差點放棄,都是完全信了網上別人的經驗只談,殊不知自己實事求是纔是檢驗真理的唯一標準啊。
總之多試試。
安裝rewrite模塊:
/usr/local/apache2/bin/./apxs -i -A -n rewrite mod_rewrite.so
還是別忘了 ./  太容易被忽視了,我不得不強調,當然也許是我菜咯。問題是你可以看看網上專家們的高談闊論,有幾個寫正確了的。
好了,這個命令之後,你的 httpd.conf 被自己修改和備份。但是要加載rewrite mod 你還是要麻煩一下,去改改,去掉LoadModule前面那個 #號。
5 :
重新啓動你的apache.

Ok 了吧。不行的話,仔細看看你的每個步驟。特別是那些文件的路徑。


轉自:http://www.linuxidc.com/Linux/2008-01/10760.htm

發佈了27 篇原創文章 · 獲贊 9 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章