在 drupal 上啟用 "簡潔網址"

 

最後更新: 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:

最後進入 後台 -> 網站設定 -> 簡潔網址

 

選擇 "執行簡潔網址測試"
( 要測試成功才能啟用簡潔網址功能 )


 

 

當測試成功後, 就能選擇啟用它了 ^ ^