[英]How to exclude directory and files inside it - rewrite
我有Nginx規則運作良好:
rewrite ^/myapp/(.*)/$ /myapp/good-file.php?param=$1;
但是,如果我訪問/ myapp /下的某個目錄,它會加載.php instad真正的子目錄,它有自己的index.php,例如,如果我訪問:
http://www.example.com/myapp/sub-directory/
它從good-file.php加載東西,因為重寫規則正在運行(必須是)。
如果我有重寫的錯誤,我怎么能排除/ myapp /子目錄/文件里面的文件?
非常感謝您提供的信息和幫助!
在執行默認操作(例如重寫規則)之前,您可以使用try_files
指令測試文件和目錄的存在。 請參閱此文檔了解詳細信息
可能的實現是:
location /myapp {
try_files $uri $uri/ @rewrite;
}
location @rewrite {
rewrite ^/myapp/(.*)/$ /myapp/good-file.php?param=$1 last;
}
上面假設您定義了root
和index
,以及處理以.php
結尾的文件的位置。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.