Nginx:重寫具有多個網址的規則

Nginx:重寫具有多個網址的規則

想要用以下設定重寫 nginxwww.example.com/abc/xyz/test/

重定向到www.example.com/abc/xyz/test.php所以想要製定一個重寫規則,該規則適用於具有該網址的所有頁面,所以我嘗試了這個有效的規則

 location ~* /abc/xyz/.*/$
        {
            rewrite ^/abc/xyz/.*/$  /abc/xyz/test.php last;
        }

這個規則有效,但它總是重定向到 test.php 希望使其動態,這樣它也適用於 test2.php test3.php 當在 url 中時它會像www.example.com/abc/xyz/test2/依此類推,因為我們有 100 頁,所以如果找不到解決方案,我需要寫 100 條規則。任何幫助將不勝感激。

答案1

try_files應該夠了。

location / {
    try_files $uri $uri.php;
}

相關內容