簡體   English   中英

如何排除其中的目錄和文件 - 重寫

[英]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;
}

上面假設您定義了rootindex ,以及處理以.php結尾的文件的位置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM