把一個在windows寫的web程序,移植到新裝的ubuntu上來。
由於新裝的ubuntu裝的上APACHE2, 在配置文件上跟老的apache有區別, 沒太注意。
原來的web程序是用ThinkPHP寫的, 移植過來后在url上出老點差錯。於是開始糾結的找問題。
由於thinkphp的url需要重寫, 需要用到apache的
mod_rewrite.so模塊,用.htaccess文件去掉index.php優化SEO。
需要修改apache的配置文件,就是這個配置文件啊。跟老的不一樣,他的把原來一個httpd.conf 拆分成幾個文件,說上方便。
最后發現我需要的mod_rewrite.so模塊在mods-available文件夾里,mods-enabled做一個鏈接指向它。然后再apache2.conf 里 IncludeOptional mods-enabled/*.load, 我以為它指向它就包含所有的模塊加載了,其實不是所有的模塊都指向了,沒有的模塊需要自己指向過去的。
這里有段網上的說明可以幫助理解(
看看/etc/apache2目錄下的東西。剛才在apache2.conf里發現了sites-enabled目錄,而在 /etc/apache2下還有一個sites-available目錄,這里面是放什么的呢?其實,這里面才是真正的配置文件,而sites- enabled目錄存放的只是一些指向這里的文件的符號鏈接,你可以用ls /etc/apache2/sites-enabled/來證實一下。所以,如果apache上配置了多個虛擬主機,每個虛擬主機的配置文件都放在 sites-available下,那么對於虛擬主機的停用、啟用就非常方便了:當在sites-enabled下建立一個指向某個虛擬主機配置文件的鏈 接時,就啟用了它;如果要關閉某個虛擬主機的話,只需刪除相應的鏈接即可,根本不用去改配置文件。
mods-available、mods-enabled和上面說的sites-available、sites-enabled類似,這兩個目錄 是存放apache功能模塊的配置文件和鏈接的。當我用apt-get install php5安裝了PHP模塊后,在這兩個目錄里就有了php5.load、php5.conf和指向這兩個文件的鏈接。這種目錄結果對於啟用、停用某個 Apache模塊是非常方便的。)