.htaccess 轉 Nginx 設定轉換器
在瀏覽器中即時將 Apache .htaccess 規則轉換為 Nginx 設定。免費、私密、完全在用戶端執行。
# Nginx 設定將在此顯示...
在瀏覽器中即時將 Apache .htaccess 規則轉換為 Nginx 設定。免費、私密、完全在用戶端執行。
# Nginx 設定將在此顯示...
Apache 和 Nginx 是當今使用的兩種主要 Web 伺服器,但它們的配置不同。 Apache 使用分佈在整個文件樹中的 .htaccess 檔案 — 每個目錄都可以覆寫其自身及其子目錄的行為。 Nginx 使用單一集中式設定文件,沒有每個目錄的覆蓋。從 Apache 遷移到 Nginx 需要將每個 .htaccess 指令轉換為等效的 Nginx 位置區塊、重寫規則或伺服器指令。
最常見的 .htaccess 用例具有直接的 Nginx 等效項。 URL 重寫(RewriteRule)對應到 Nginx 的重寫指令。重定向(Redirect、RedirectMatch)成為Nginx的回傳或重定向行。驗證(AuthType、AuthUserFile)對應到 Nginx 的 auth_basic。 CORS、自訂標頭和 MIME 類型覆蓋都有 Nginx 對應項。
此轉換器解析常見的 .htaccess 指令並產生 Nginx 設定語法。複雜的正規表示式重寫和 Apache 特定的模組指令可能需要手動調整,但典型情況會直接轉換。輸出是一個起點 - 在部署之前仔細檢查它,特別是對於安全敏感的指令。
Apache 到 Nginx 的遷移是網站寄存中最常見的操作變更之一。 Nginx 通常每個請求使用更少的內存,更有效地處理並發連接,並且更快地提供靜態資源。除了配置轉換之外,遷移很簡單,配置轉換是轉換器解決的瓶頸。
閱讀 Nginx 等效語法還可以幫助 Apache 管理員理解 Nginx 習慣用法。兩種配置的並排比較可以闡明每個伺服器如何表達相同的意圖。
貼上您的 .htaccess 內容,取得 Nginx 設定等效項。
帶有 [L] 標誌的 Apache RewriteRule 變成 Nginx rewrite ... last;。 [R=301] 的 RewriteRule 變成帶有重寫 URL 或永久重寫的回傳 301。 Apache 重寫引擎內的條件 (RewriteCond) 成為 Nginx 中的 if 區塊,並附帶標準警告,即 Nginx if 語句在位置區塊內具有不尋常的語義(小心使用它們)。
Apache 目錄和 FilesMatch 部分會對應到 Nginx 位置區塊。 AuthType Basic 加上 AuthUserFile 就變成 auth_basic + auth_basic_user_file。標頭設定或AddHeader成為Nginx的add_header。
某些 Apache 功能沒有乾淨的 Nginx 等價項。 mod_rewrite 的 RewriteMap 具有資料庫後端、複雜的環境變數操作和某些特定於 Apache 的驗證提供者可能需要自訂 Nginx 模組或外部腳本。