最後更新: 2016-02-01
介紹
在 drupal 裡所有的內容都是以
http://xxx/index.php?p=yyy/zzz
的形式出現
看上去的感覺 = 不自然 + 醜 .................
沒辦法呢, 這是動態網頁的必然的結果
因為它要以 "?" 來分隔 url 內的 script 及 參數
以此實現把參數傳入 index.php 之類的 script 處理
幸好 Apache 有樣很厲害的功能, 叫 rewrite
它可以把
http://datahunter.servehttp.com/index.php?q=node/163
改寫成
http://datahunter.servehttp.com/node/163
優點是減去了中間的 index.php?q , 看上去自然簡短許多
步驟1: Enable rewrite module
# 首先要的確定 Apache 有沒有載入 mod_rewrite 這模組
apache2ctl -M
# 它會列出 apache 有裝載的模組
# 如果無, 就用以下指令載入它
a2enmod rewrite
# 之後重啟 Apache
apachectrl restart
步驟2: 設定 .htaccess
# 此外, 在 drupal 的安裝目錄找找是否有 .htaccess 這文件
# 如果無就建立它
# 並寫入加下內容
# .htaccess 的部分內容
# Various rewrite rules. <IfModule mod_rewrite.c> RewriteEngine on # If your site is running in a VirtualDocumentRoot at http://example.com/, # uncomment the following line: RewriteBase / # Rewrite current-style URLs of the form 'index.php?q=x'. RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?q=$1 [L,QSA] </IfModule>
( 正常情況下, drupal 已為我們準備好了 .htaccess ^ ^ )
步驟3:
最後進入 後台 -> 網站設定 -> 簡潔網址
選擇 "執行簡潔網址測試"
( 要測試成功才能啟用簡潔網址功能 )
當測試成功後, 就能選擇啟用它了 ^ ^