
Пытаюсь перенаправить 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;
}