server_name regexp
Anton Koldaev
koldaevav на gmail.com
Пн Сен 20 09:51:36 MSD 2010
Привет
Имею вот такой server_name:
> # Любой поддомен, кроме исключенных
> server_name ~(?<!^one|^two|^three|^www)\.sitename\.ru$;
>
php-файлы проксируются на php-fpm:
> location ~ \.(php|php4|php5|phtml)$ {
> fastcgi_pass 127.0.0.1:9000;
> try_files $fastcgi_script_name =404;
>
> fastcgi_param SERVER_NAME $server_name;
>
...
>
Проблема в том, что в SERVER_NAME попадает именно регексп, а не, например,
one.sitename.ru.
Реврайт, после которого фейлится:
> 2010/09/20 09:42:20 [notice] 19176#0: *24 rewritten data:
> "/urlrewriteprepend.php", args: "logout=yes&CODE=alozovaya", client:
> 94.198.48.35, server: ~(?<!^one|^two|^three|^www)\.sitename\.ru$, request:
> "GET /blogs/one/index.php?logout=yes&CODE=one HTTP/1.1", host: "
> one.sitename.ru", referrer: "http://one.sitename.ru/"
>
Что отдается в браузере:
> Server not found
> Firefox can't find the server at ~(.
>
В адресной строке:
> http://
> ~%28/?%3C!^one|^two|^three|^www%29\.sitename\.ru$/?logout=yes&CODE=one
>
Как через fastcgi_param передать верный servername?
--
Best regards,
Koldaev Anton
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20100920/368d8b9a/attachment.html>
Подробная информация о списке рассылки nginx-ru