nginx 將特定資料夾重寫為 php 和 arg

nginx 將特定資料夾重寫為 php 和 arg

我正在嘗試將domain.tld/blog/read.php?article=first-article重定向到domain.tld/blog/first-article

我嘗試過但不起作用,導致重定向到domain.tld/first-article

location "^blog/([^/]+)/?$" {
 try_files /$uri /$uri/ /blog/read.php?article=$1;
}
location /blog {
 rewrite ^/blog/?$ /blog/read.php?article=? last;
 rewrite ^/blog/([-a-zA-Z0-9_]+)/$ /blog/read.php?article=$1? last;
}
location ~ "^/blog/([^/]+)/?$" {
 try_files /$uri /$uri/ /blog/read.php?article=$1;
}

認為問題來自配置中的其他部分,主要是下面的第二個位置

server {
...
...
location ~ "^/([^/]+)/?$" {
 try_files $uri $uri/ /device.php?name=$1;
}

location ~ "^/([^/]+)/([^/]+)/?$" {
 try_files $uri $uri/ /device.php?name=$1&crversion=$2;
}
...

任何指點都會有很大幫助乾杯

答案1

所以快速的答案實際上是我的配置第一次很好,但是 nginx 配置是從上到下讀取的,第一個匹配是使用的配置。
所以最後的「修復」是在網站配置中添加部落格部分

location ~ "^/blog/([^/]+)/?$" {
 try_files /$uri /$uri/ /blog/read.php?article=$1;
}

相關內容