Apache mod_rewrite 基於正則表達式的重寫引擎,配合 .htaccess 實現動態 URL 重寫——WordPress 固定鏈接即依賴此機制。本文提供 Windows 與 Mac OS X 兩大環境的完整啟用步驟。
[Apache根目錄]/conf/httpd.conf#LoadModule rewrite_module modules/mod_rewrite.so,移除 # 註釋(無則手動添加)modules/ 目錄下存在 mod_rewrite.so<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>
AllowOverride None 改為 AllowOverride All(全域啟用)extra/httpd-vhost.conf):
<Directory "D:/sites/example/">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
.htaccessMac 非 root 運作,權限管理較複雜,網站文件常置於 ~/Sites。
sudo vi /etc/apache2/httpd.conf,取消註釋 LoadModule rewrite_modulesudo vi /etc/apache2/extra/httpd-vhost.conf,添加:
<Directory "/Users/[用戶名]/Sites">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
sudo vi /private/etc/apache2/users/[用戶名].conf(舊版路徑 /private/etc/httpd/users/),將 AllowOverride None 改為 AllowOverride All.htaccess:
cd ~/Sites/Wordpress
touch .htaccess
chmod 777 .htaccess
預設權限 644 導致 WordPress 無法自動寫入,777 臨時開放寫入,生成後可改回 644
sudo apachectl restart 重啟服務.htaccess 可能報 </IfModule> without matching <IfModule> 錯誤 → 重新建檔貼上 解決httpd-vhost.conf,勿散落主配置完成上述配置,WordPress 固定鏈接、自定義路由、偽靜態等功能即可正常運作。