萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 程式設計 >  >> 網頁製作 >> 互動設計

啟用 Apache Mod Rewrite 與 .htaccess 完全指南:Windows 與 Mac OS X 環境實戰

Apache mod_rewrite 基於正則表達式的重寫引擎,配合 .htaccess 實現動態 URL 重寫——WordPress 固定鏈接即依賴此機制。本文提供 Windows 與 Mac OS X 兩大環境的完整啟用步驟。

Windows 環境

  1. 編輯 [Apache根目錄]/conf/httpd.conf
  2. 尋找 #LoadModule rewrite_module modules/mod_rewrite.so,移除 # 註釋(無則手動添加)
  3. 確認 modules/ 目錄下存在 mod_rewrite.so
  4. 同檔案中找到:
    <Directory />
      Options FollowSymLinks
      AllowOverride None
      Order deny,allow
      Deny from all
    </Directory>
  5. 將 AllowOverride None 改為 AllowOverride All(全域啟用)
  6. 或針對特定站點目錄啟用(建議寫入 extra/httpd-vhost.conf):
    <Directory "D:/sites/example/">
      Options Indexes FollowSymLinks
      AllowOverride All
      Order allow,deny
      Allow from all
    </Directory>
  7. 重啟 Apache 生效
  8. WordPress 後台設定固定鏈接(非預設),自動生成 .htaccess

Mac OS X 環境

Mac 非 root 運作,權限管理較複雜,網站文件常置於 ~/Sites。

  1. 終端執行 sudo vi /etc/apache2/httpd.conf,取消註釋 LoadModule rewrite_module
  2. 編輯虛擬主機 sudo vi /etc/apache2/extra/httpd-vhost.conf,添加:
    <Directory "/Users/[用戶名]/Sites">
      Options Indexes FollowSymLinks MultiViews
      AllowOverride All
      Order allow,deny
      Allow from all
    </Directory>
  3. 編輯用戶配置 sudo vi /private/etc/apache2/users/[用戶名].conf(舊版路徑 /private/etc/httpd/users/),將 AllowOverride None 改為 AllowOverride All
  4. 站點目錄建立可寫 .htaccess:
    cd ~/Sites/Wordpress
    touch .htaccess
    chmod 777 .htaccess

    預設權限 644 導致 WordPress 無法自動寫入,777 臨時開放寫入,生成後可改回 644

  5. sudo apachectl restart 重啟服務

常見坑點

  • Windows → Mac 複製 .htaccess 可能報 </IfModule> without matching <IfModule> 錯誤 → 重新建檔貼上 解決
  • Mac 隱藏文件操作需開啟 Finder 顯示隱藏檔或終端操作
  • 虛擬主機配置建議集中管理於 httpd-vhost.conf,勿散落主配置

完成上述配置,WordPress 固定鏈接、自定義路由、偽靜態等功能即可正常運作。

copyright © 萬盛學電腦網 all rights reserved