2015-04-23 6 views
0

Я пытаюсь получить example.com/language/en, чтобы указать на example.com/language?lang=en У меня уже есть язык, на котором работает @language (вроде, есть все еще некоторая ошибка, которую я объясняю в конце), но, к сожалению, я не знаю, как заставить @language и @ extensionless-php работать одновременно, я протестировал код @language, удалив @ extensionless-php в местоположение/и добавление @location. И как сейчас, он принимает более одного параметра, например this //example.com/language/en/en/en, и я хочу, чтобы он возвращал ошибку 404, если он имеет более 1/после языкаДовольно URL/Чистый URL + nginx

Текущая конфигурация:

location/{ 
    try_files $uri $uri.html $uri/ @extensionless-php; 
} 

location @extensionless-php { 
    rewrite ^(.*)$ $1.php last; 
} 

location @language { 
    rewrite ^/language/(.*)$ /language.php?lang=$1 last; 
} 

ответ

0

ответ был просто удаление rewrite ^/language/(.*)$ /language.php?lang=$1 last; из @language, редактировал регулярное выражение, так что, когда URI является /language/en/ он идет к 404 ошибке

location/{ 
    try_files $uri $uri.html $uri/ @extensionless-php; 
} 

location @extensionless-php { 
    rewrite ^(.*)$ $1.php last; 
} 

rewrite ^/language/([^/]+)$ /language.php?lang=$1 last; 

 Смежные вопросы

  • Нет связанных вопросов^_^