Только $host вместо $server_name в fastcgi_param всё равно приходится использовать там где &quot;server_name  _;&quot;.<br>Это корректно?<br><br><div class="gmail_quote">2010/9/20 Anton Koldaev <span dir="ltr">&lt;<a href="mailto:koldaevav@gmail.com">koldaevav@gmail.com</a>&gt;</span><br>

<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Благодарю. Таки воспользовался советом.<div><div></div><div class="h5"><br><br><div class="gmail_quote">

2010/9/20 Igor Sysoev <span dir="ltr">&lt;<a href="mailto:igor@sysoev.ru" target="_blank">igor@sysoev.ru</a>&gt;</span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">


<div>On Mon, Sep 20, 2010 at 10:47:13AM +0400, Anton Koldaev wrote:<br>
<br>
&gt; Не хочется иметь длинную простыню с аналогичными конфигами. Тем более, если<br>
&gt; в server-е множество локейшенов, то ведь всю простыню придется повторять в<br>
&gt; каждом из server {}.<br>
<br>
</div>Ну так всё равно можно применять прямую логику:<br>
<div><br>
server {<br>
    server_name  <a href="http://one.sitename.ru" target="_blank">one.sitename.ru</a><br>
</div>                 <a href="http://two.sitename.ru" target="_blank">two.sitename.ru</a><br>
                 <a href="http://three.sitename.ru" target="_blank">three.sitename.ru</a><br>
<div>                 <a href="http://www.sitename.ru" target="_blank">www.sitename.ru</a><br>
                 ;<br>
    ...<br>
}<br>
<br>
server {<br>
    listen  80 default_server<br>
    server_name  _;<br>
</div>    ...<br>
<div><div></div><div>}<br>
<br>
&gt; Обошел проблему выставив $host вместо $server_name:<br>
&gt;<br>
&gt; fastcgi_param SERVER_NAME $host;<br>
&gt; &gt;<br>
&gt;<br>
&gt; 2010/9/20 Igor Sysoev &lt;<a href="mailto:igor@sysoev.ru" target="_blank">igor@sysoev.ru</a>&gt;<br>
&gt;<br>
&gt; &gt; On Mon, Sep 20, 2010 at 09:51:36AM +0400, Anton Koldaev wrote:<br>
&gt; &gt;<br>
&gt; &gt; &gt; Привет<br>
&gt; &gt; &gt; Имею вот такой server_name:<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; # Любой поддомен, кроме исключенных<br>
&gt; &gt; &gt; &gt;   server_name ~(?&lt;!^one|^two|^three|^www)\.sitename\.ru$;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; php-файлы проксируются на php-fpm:<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;   location ~ \.(php|php4|php5|phtml)$ {<br>
&gt; &gt; &gt; &gt;     fastcgi_pass <a href="http://127.0.0.1:9000" target="_blank">127.0.0.1:9000</a>;<br>
&gt; &gt; &gt; &gt;     try_files $fastcgi_script_name =404;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;     fastcgi_param SERVER_NAME $server_name;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; ...<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Проблема в том, что в SERVER_NAME попадает именно регексп, а не,<br>
&gt; &gt; например,<br>
&gt; &gt; &gt; <a href="http://one.sitename.ru" target="_blank">one.sitename.ru</a>.<br>
&gt; &gt; &gt; Реврайт, после которого фейлится:<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; 2010/09/20 09:42:20 [notice] 19176#0: *24 rewritten data:<br>
&gt; &gt; &gt; &gt; &quot;/urlrewriteprepend.php&quot;, args: &quot;logout=yes&amp;CODE=alozovaya&quot;, client:<br>
&gt; &gt; &gt; &gt; 94.198.48.35, server: ~(?&lt;!^one|^two|^three|^www)\.sitename\.ru$,<br>
&gt; &gt; request:<br>
&gt; &gt; &gt; &gt; &quot;GET /blogs/one/index.php?logout=yes&amp;CODE=one HTTP/1.1&quot;, host: &quot;<br>
&gt; &gt; &gt; &gt; <a href="http://one.sitename.ru" target="_blank">one.sitename.ru</a>&quot;, referrer: &quot;<a href="http://one.sitename.ru/" target="_blank">http://one.sitename.ru/</a>&quot;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Что отдается в браузере:<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; Server not found<br>
&gt; &gt; &gt; &gt; Firefox can&#39;t find the server at ~(.<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; В адресной строке:<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; http://<br>
&gt; &gt; &gt; &gt; ~%28/?%3C!^one|^two|^three|^www%29\.sitename\.ru$/?logout=yes&amp;CODE=one<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Как через fastcgi_param передать верный servername?<br>
&gt; &gt;<br>
&gt; &gt;     fastcgi_param SERVER_NAME $host;<br>
&gt; &gt;<br>
&gt; &gt; А зачем использовать инверсную логику - любой поддомен, кроме чего-то-там.<br>
&gt; &gt; Неужели не проще (легко читается, не правда ли ?) использовать прямую<br>
&gt; &gt; логику:<br>
&gt; &gt;<br>
&gt; &gt; server {<br>
&gt; &gt;    server_name  <a href="http://one.sitename.ru" target="_blank">one.sitename.ru</a>;<br>
&gt; &gt; }<br>
&gt; &gt;<br>
&gt; &gt; server {<br>
&gt; &gt;    server_name  <a href="http://two.sitename.ru" target="_blank">two.sitename.ru</a>;<br>
&gt; &gt; }<br>
&gt; &gt;<br>
&gt; &gt; server {<br>
&gt; &gt;    server_name  <a href="http://three.sitename.ru" target="_blank">three.sitename.ru</a>;<br>
&gt; &gt; }<br>
&gt; &gt;<br>
&gt; &gt; server {<br>
&gt; &gt;    server_name  <a href="http://www.sitename.ru" target="_blank">www.sitename.ru</a>;<br>
&gt; &gt; }<br>
&gt; &gt;<br>
&gt; &gt; server {<br>
&gt; &gt;    listen 80 default_server;<br>
&gt; &gt;    server_name  _;<br>
&gt; &gt; }<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; --<br>
&gt; &gt; Игорь Сысоев<br>
&gt; &gt; <a href="http://sysoev.ru" target="_blank">http://sysoev.ru</a><br>
&gt; &gt;<br>
&gt; &gt; _______________________________________________<br>
&gt; &gt; nginx-ru mailing list<br>
&gt; &gt; <a href="mailto:nginx-ru@nginx.org" target="_blank">nginx-ru@nginx.org</a><br>
&gt; &gt; <a href="http://nginx.org/mailman/listinfo/nginx-ru" target="_blank">http://nginx.org/mailman/listinfo/nginx-ru</a><br>
&gt; &gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; Best regards,<br>
&gt; Koldaev Anton<br>
<br>
&gt; _______________________________________________<br>
&gt; nginx-ru mailing list<br>
&gt; <a href="mailto:nginx-ru@nginx.org" target="_blank">nginx-ru@nginx.org</a><br>
&gt; <a href="http://nginx.org/mailman/listinfo/nginx-ru" target="_blank">http://nginx.org/mailman/listinfo/nginx-ru</a><br>
<br>
<br>
--<br>
Игорь Сысоев<br>
<a href="http://sysoev.ru" target="_blank">http://sysoev.ru</a><br>
<br>
_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org" target="_blank">nginx-ru@nginx.org</a><br>
<a href="http://nginx.org/mailman/listinfo/nginx-ru" target="_blank">http://nginx.org/mailman/listinfo/nginx-ru</a><br>
</div></div></blockquote></div><br><br clear="all"><br></div></div>-- <br>Best regards,<br><font color="#888888">Koldaev Anton<br>
</font></blockquote></div><br><br clear="all"><br>-- <br>Best regards,<br>Koldaev Anton<br>