Nginx支援.htaccess的分析處理
曾經聽說過關於Nginx支援.htaccess檔案的問題。有人認為,Nginx能夠支援.htaccess規則,且相容Apache規則。但我認為,Nginx支援使用.htaccess檔案來儲存Nginx的偽靜態規則,不相容.htaccess規則。
查閱了Nginx的官方文件文件1/文件2之後會發現,文件1是Nginx的Rewrite模組的doc,詳細地解釋了Nginx的rewrite規則組成,在其中,並沒有找到關於Apache的規則;在文件2中,文件說明了為什麼不使用.htaccess檔案 並將Nginx和Apache進行比較。眾所周知,Nginx不支援.htaccess規則。以前有一篇文章提到過:誰說nginx不支援.htaccess,在我看來,這是在混淆視聽,偷換了概念,我們說的是.htaccess規則,而文章說的是.htaccess檔案。
接下來我們來分析一下Nginx為什麼不支援.htaccess,主要有以下幾個方面。
效能需要 在文件2中我們可以知道,Apache處理偽靜態規則時會依次搜尋各個目錄下的.htaccess檔案,這樣就會造成大量的查詢,影響效能,與Nginx的設計理念不符。
軟體模式決定 Apache設計時便是動態載入這一點,可以從Apache處理.htaccess檔案看出來。你修改了.htaccess後,就可以馬上生效,包括Apache載入模組也是動態載入,而Nginx則是寫死的規則,修改後需要過載Nginx才可以。Tengine雖然提供了動態載入模組,但仍需要過載設定才能生效,可以說是在“偽動態”。
北方毛熊的自尊心作祟 Apache後面有美帝的身影,毛熊們覺得要是相容了就有點低聲下氣。所以搞出自己的版本。
關於.htaccess應用於Nginx的可行性分析。在我看來,.htaccess不可能應用於LNMP平臺的商業化。主要有以下幾個原因。
安全性較低
由於Nginx是先載入配置檔案,然後才執行,所以,如果你用的虛擬主機有一個愛折騰的鄰居,萬一那個傢伙手殘了,改錯了,你也會無法訪問,隨之遭殃。
操作不便
Nginx因為是先載入配置檔案,所以,在每次修改完需要重啟Nginx,你是否給使用者ssh密碼以方便其重啟?如果不給密碼使用php中的exec,又會有跨站的危險。如果開啟了Chroot,exec就沒有效果了。
實際上nginx不僅僅支援.htaccess檔案,你甚至可以使用.mp3來放偽靜態規則。但是,為了安全起見,我建議你使用預設的conf檔案來儲存rewrite規則。畢竟,說不定那天不小心就把目錄清空了,規則就沒了。Nginx也因此崩潰
本文為Anyforweb技術分享部落格,需要了解網站建設及更多Web應用相關資訊,請訪問anyforweb.com。
相關文章
- nginx日誌處理Nginx
- Nginx和Tomcat的session處理NginxTomcatSession
- php 與 nginx 的兩種處理方式PHPNginx
- Nginx 超時事件的處理機制Nginx事件
- nginx 是如何處理過期事件的?Nginx事件
- nginx處理http請求流程NginxHTTP
- nginx對埠的處理 -- 第三篇Nginx
- nginx 如何處理一個請求Nginx
- 盤點.NET支援的 處理器架構架構
- nginx對listen埠的處理 -- 第二篇Nginx
- Nginx 支援websocket的配置NginxWeb
- 體檢伺服器nginx故障處理伺服器Nginx
- logstash nginx error access 日誌處理NginxError
- 表熱塊的處理手段分析
- 提升規則自治能力與原生分析能力、支援影片流接入處理
- ETLCloud支援的資料處理型別包括哪些?Cloud型別
- Nginx處理請求的11個階段(agentzh的Nginx 教程學習記錄)Nginx
- 理解 Nginx 在處理請求時的匹配規則Nginx
- Nginx實現高速併發處理的原理詳解Nginx
- nginx 處理客戶端請求的完整過程Nginx客戶端
- Nginx學習筆記--Nginx圖片縮圖,水印處理模組Nginx筆記
- 配置nginx支援Nginx
- 10 文字分析處理命令
- oracle 高水位分析處理Oracle
- MySQL加鎖處理分析MySql
- MySQL 加鎖處理分析MySql
- Redis 叢集到底支援不支援批處理指令MGET等Redis
- Nginx請求處理流程你瞭解嗎?Nginx
- Nginx(二): worker 程式處理邏輯-流程框架Nginx框架
- 配置nginx對php的支援NginxPHP
- 什麼是IO多路複用?Nginx的處理機制Nginx
- Nginx和Tomcat的session處理分為兩步 2NginxTomcatSession
- Nginx圖片下載不完整的處理過程Nginx
- 關於nginx HTTP Strict Transport Security (HSTS) Policy Not Enabled 的處理NginxHTTP
- EGADS框架處理流程分析框架
- 故障分析 | Greenplum Segment 故障處理
- 資料處理 聚類分析聚類
- 聯機分析處理(OLAP)概述