2016-04-09 3 views
1

Я пытаюсь префиксные запросы www с использованием nginx.Nginx Redirect не работает для более чем одного параметра

Проблема: В то время как domain.com и domain.com/about получает префикс WWW, domain.com/c/3kl239zz не (по крайней мере, он не отображается в строке браузера).

Вот Nginx блоки:

# redirect block 
server { 
    listen     80; 
    server_name    domain.com; 
    return     301 https://www.domain.com$request_uri?; 
} 

# website block 
server { 
    listen     443 ssl; 
    server_name    www.domain.com; 

    ... 
} 

Дополнительная информация:

  • У нас есть 2 дополнительных блоков Nginx питание для субдоменов т.е. test.domain.com.
  • В domain.com/c/3kl239zz, c является угловым , а 3kl239zz является ссылкой на документ db.
+0

Это может вам помочь: http: //stackoverflow.com/a/7958540/2097224 ... Посмотрите на свой '$ request_uri 'попробуйте его без'? ' – aldanux

+0

Спасибо за комментарий. Просто попробовал, похоже, ничего не сделал. – dmr07

ответ

1

проблем нет с nginx. domain.com/about означает domain.com с о состоянии, но где вы печатаете domain.com/c/3kl239zz, это означает, что domain.com с папкой c с статусом 3kl239zz, получил его. если вам нужны эти данные, вы можете указать его в params domain.com/c?id=3kl239zz

+0

Спасибо за ответ, это имеет смысл. Вы знаете, есть ли способ сделать работу '/ c/3kl239zz'? Если возможно, я бы хотел сохранить этот стиль для сокращения URL-адресов. – dmr07

+0

Также, похоже, это не означает, почему он не префикс 'domain.com/c/3kl239zz' с' www' – dmr07

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