剛剛將服務器系統從CentOS換成Ubuntu,將MySQL,Apache,PHP和Wordpress安裝好後,發現打開主頁是正常的,可是 打開文章頁面時出現錯誤。由於使用了自定義的固定連接設置,那天然是Apache的rewrite功能出現了問題。打開/etc/apache2這個目錄 準備修改配置文件時,發現之前用的httpd.conf這個文件是空的。反卻是多了不少其餘的目錄。那麼Google吧。 html
Apache配置說明查看 https://help.ubuntu.com/12.04/serverguide/httpd.html apache
其中幾個文件及目錄的做用是: ubuntu
apache2.conf:Apache的主要配置文件,包含全局配置。 conf.d:Apache全局配置文件,其餘須要使用Apache的包能夠在這個目錄下建立文件或者連接。 envvars:Apache2環境變量設置。 httpd.conf:遺留的Apache2主要配置文件。這個文件是空的,其中的配置選項都轉移到其餘配置文件裏了。 這個文件能夠進行Apache全局配置。 mods-available:這個目錄包含模塊和模塊配置文件,不是全部的模塊都有配置文件。 mods-enabled:持有/etc/apache2/mods-available目錄下文件的連接,當該目錄下有一個模塊文件和其配置文件,那麼Apache重啓後該模塊將生效。 ports.conf:配置Apache監聽的端口。 sites-available:這個目錄包含Apache虛擬主機的配置文件。虛擬主機容許Apache配置多個站點併爲每一個站點配置不一樣的參數。 sites-enabled:持有/etc/apache2/sites-available目錄下文件的連接。當Apache重啓後,該目錄中包含的站點將會被激活。
結合以上配置說明能夠發現Apache的配置文件很是的模塊化,啓用模塊、虛擬主機都很是的簡單。 vim
下面是啓用mod_rewrite模塊的方法。 服務器
第一種方式: ide
sudo a2enmod rewrite
第二種方式: 模塊化
sudo ln -s /etc/apache2 /mods-available/rewrite.load /etc/apache2 /mods-enabled/rewrite.load
無論使用哪一種方法,都是在/etc/apache2/mods-enabled這個目錄下面創建了一個連接,只要重啓服務器以後就能夠生效。 固然要使rewrite生效,還須要修改額外的配置: ui
sudo vim /etc/apache2 /sites-enabled/ 000- default
將其中的 AllowOverride None 修改成 AllowOverride All,而後重啓服務器便可。 spa
sudo /etc/init.d/apache2 restart