標籤:apache opensuse linux php5
這幾天剛重裝了系統,需要進行一大堆配置,筆者是一名LAMPer,當然要配置apache+php+mysql了,我用的發行版是opensuse13.1,。
安裝好apache後,需要開啟URL重寫功能以配合項目的開發。開啟apache的設定檔/etc/apache2/httpd.conf,找到AllowOverride None,改成AllowOverride ALL,再找到Option None改為Option FollowSymLinks 。這樣還不行,還要載入Rewrite模組。
Rewrite主要的功能是實現URL的重寫,通過重寫URL實現靜態化(偽靜態),這樣作的目的是為了便於搜尋引擎和使用者的理解,以提高搜尋引擎的收錄數量。
再回到/etc/apache2/httpd.conf檔案,可以看到這樣一行
# |-- sysconfig.d/loadmodule.conf . . . . . [*] load these modules
說明apache載入模組的檔案在/etc/apache2/sysconfig.d/loadmodule.conf
再進去這個檔案看看究竟,發現這個檔案有很多載入模組的語句,於是我就很興奮地把rewrite模組檔案載入進去,重啟apache,發現還是不行,再進去剛剛的檔案,發現我剛寫的語句不見了,於是仔細的看看該檔案發現:
## Files in this directory are created at apache start time by /usr/sbin/rcapache2 # Do not edit them!## as listed in APACHE_MODULES (/etc/sysconfig/apache2)
原來這個檔案是不可以編輯的,只能在/etc/sysconfig/apache2這個檔案下改,於是乎再去該檔案看看。發現:
APACHE_MODULES="actions alias auth_basic authn_file authz_host authz_groupfile authz_user autoindex cgi dir env expires include log_config mime negotiation setenvif ssl userdir php5 reqtimeout authn_core authz_core"
原來這一句才是apache載入模組的語句,在後面添加rewrite,再重啟apache發現成功了,而且/etc/apache2/sysconfig.d/loadmodule.conf檔案下也多了一行載入Rewrite的語句,說明成功了。
LoadModule rewrite_module /usr/lib64/apache2-prefork/mod_rewrite.so