2013-10-08 2 views
0

Используя Nginx, я пытаюсь настроить свой сервер для приема всех доменов, указывающих на IP-адрес моего сервера, путем показа им определенного веб-сайта, но при доступе к веб-сайту www.example.com (основной сайт) я бы показать другое содержимое.Конфигурация уловов, за исключением www.website.com?

Вот что я сделал до сих пор:

server { 
    // Redirect www to non-www 
    listen  80; 
    server_name www.example.com; 
    return  301 $scheme://example.com$request_uri; 
} 

server { 
    listen  80; 
    server_name example.com; 
    // rest of the configuration 
} 

server { 
    // Catch all 
    listen  80 default_server; 

    // I also tried 

    // server_name _; 

    // Without any luck. 

    // Rest of the configuration 
} 

Проблема с этой конфигурации является то, что каждый запрос сделан к этому серверу не www.example.com или example.com это взяли под example.com конфигурации сервера , а не поймать всех.

В первых двух конфигурациях я хотел бы использовать только www.example.com/example.com и все остальные в последней конфигурации.

Благодарим за помощь.

+0

Странно, такая конфигурация работает на моих серверах. Любые ошибки? Что делает ehh, поместив сервер по умолчанию поверх файла? И вы пытались предоставить серверу по умолчанию действительное имя_сервера? –

+0

Ну, вы правы, мне пришлось переключить последнюю конфигурацию сервера на верх, и это сработало. Вы можете добавить свое предложение в качестве ответа, и я приму это! :) –

ответ

1

Я предлагаю положить ваш сервер поверх файла :)

Я думаю, Nginx хочет серверы по умолчанию, чтобы быть на вершине -а- файла. У меня действительно много файлов на моем сервере, но есть один с сервером по умолчанию в качестве первого объявления сервера, и это работает.

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