Конфигурация сервера nginx: субдомен в папку

Я перешел с Apache 2 на nginx, и у меня возникли проблемы с решением мой контроль поддомена. Что я хочу: когда запрашивается x.domain.tld, внутренне перезаписывается в domain.tld / x

У меня проблема в том, что nginx всегда перенаправляет страницу, сообщая браузеру перенаправить на . Но на самом деле я хочу сделать это внутри себя, как это сделал Apache 2. Кроме того, если я запрашиваю только x.domain.tld, nginx возвращает 404. Он работает только тогда, когда я выполняю x.domain.tld / index.php

Вот моя конфигурация:

server {
        listen      80 default;
        server_name _ domain.tld www.domain.tld ~^(?<sub>.+)\.domain\.tld$;

        root /home/domain/docs/;

        if ($sub) {
                rewrite (.*) /$sub;
        }

        # HIDDEN FILES AND FOLDERS
        rewrite ^(.*)\/\.(.*)$ @404 break;

        location = @404 {
                return 404;
        }

        # PHP
        location ~ ^(.*)\.php$ {
                if (!-f $request_filename) {
                        return 404;
                }

                include       /etc/nginx/fastcgi_params;
                fastcgi_pass  unix:/etc/nginx/sockets/domain.socket;
        }
}

Спасибо!

16
задан quotient7 10 February 2012 в 19:08
поделиться