Nginx Rewrite URL 404 Error

Я хочу маскировать или перезаписывать URL-адреса.

В настоящее время страница сведений о моем приложении выглядит так:

example.com/detail/morphite-final-beta?id=com.crescentmoongames.morphite

, поэтому я хочу, чтобы эти страницы без " ? id = "вот так:

example.com/detail/morphite-final-beta/com.crescentmoongames.morphite

Это код, который я ввел в конфигурацию nginx:

location /detail/ {

    rewrite ^/detail/([\w-]+)/([\w-]+)/$ /detail/$1?id=$2;

}

Возвращает ошибку 404 Not Found . Я создаю этот код и пытаюсь найти ответы на этой странице, но ничего не работает. Что не так?

0
задан 28 November 2017 в 06:03
1 ответ

Кажется, у вас есть? в вашем URL-адресе, это сложно сделать с помощью RegularExpression. Пожалуйста, попробуйте этот способ.

if ($args ~ "(^|&)id=com.crescentmoongames.morphite($|&)"){
    set $rule_0 1$rule_0;
}
if ($rule_0 = "1"){
    rewrite ^/example.com/detail/morphite-final-beta$ /example.com/detail/morphite-final-beta/com.crescentmoongames.morphite permanent;
}
0
ответ дан 24 November 2019 в 03:36

Теги

Похожие вопросы