Похоже на баг. <br>nginx/0.7.62<br><br>Я обнаружил, что связка вот таких директив не работает (fastcgi_php не срабатывает):<br><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">server_name ~^([a-z0-9]+)\.example\.com$ </span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">root /your/app/$1/htdocs</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;</span><br>
<br>А вот такие, по смыслу, казалось бы, идентичные, - работают:<br><br><span style="font-family: courier new,monospace;">server_name ~^([a-z0-9]+)\.example\.com$ </span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">set $docroot /your/app/$1/htdocs;</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">root $docroot;</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;</span><br>
<br>Видимо, если в root содержатся regexp-маркеры (типа $1), они неправильно обрабатываются в $document_root, в итоге fastcgi_param не срабатывает.<br><br>