Apache URL rewrite 的簡單設定三步曲

User Rating: 0 / 5

Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive
 

先簡單介紹 Apache URL Rewrite 的功能。假如我們有一個像老太婆的裹腳布一樣長的 URL 如下:

http://www.foo.com/productDetail.php?productID=3&Cateogry=1 

透過 .htaccess 的重寫規則,可以把它簡化成以下

http://www.foo.com/productDetail/3 

這樣一來不但簡潔,搜尋引撆的機器人也可以把乾淨的網址列出給搜尋結果。但編寫 .htaccess 檔的 regular expression 並不在本文章的範圍內。如果有興趣可以去 http://httpd.apache.org/docs/2.0/misc/rewriteguide.html

問題:

在打開 Clean URLs 的功能後,如果點選連結會出現 404 Error。可以依下面的三個步驟確定在伺服器方面有沒有把設定弄對。我們一樣以 Ubuntu 14.04.1 LTS 為基礎。

 

1. 開啟 Apache URL Rewrite 功能

 

要開啟 Apache URL Rewrite,需要打入下面指令。

 sudo a2enmod rewrite

 

2. 確定文件目錄有支援 AllowOverride

 

cd /etc/apache2/ 
sudo nano apache2.conf 

按 Ctrl + W 找下面這段。把 AllowOverride 從 None 改成 All

 

<Directory />

         Options Indexes FollowSymLinks

         AllowOverride All

         Require all granted

 </Directory>

 

3. 確定隱藏的 .htaccess 有被正確的 copy 到文件的目錄裡

假設你的 wordpress 安裝是在 /var/www/html/wordpress 裡。 先切換到那目錄再打 ls -l 就可以看到 .htaccess 有沒有在那裡了。 最後如果您有修改上列的 1 or 2, 要重新啟動 apache server. 鍵入以下即可。

sudo service apache2 restart

Please publish modules in offcanvas position.