Re: один конфиг для нескольких virtualhost
Igor Sysoev
igor на sysoev.ru
Ср Дек 2 18:46:48 MSK 2009
On Wed, Dec 02, 2009 at 10:26:43AM -0500, andyjam wrote:
> имеется nginx в связке с apache (апач на 8080). на апаче настроены множество virtualhost'ов. все они лежат в папочках, названных соответственно своим доменным именам, только без www.
> задача - настроить одним конфигом сразу все виртхосты так, чтобы php-файлы отдавались на апачем, а статические файлы отдавались nginx'ом.
>
> что-то вроде:
>
> server {
> listen 80;
> server_name localhost;
> location / {
> proxy_pass http://127.0.0.1:8080;
> proxy_redirect off;
> proxt_set_header Host $host;
> }
> location ~* ^.+.(jpg|gif|png)$ {
> root /home/$host;
> }
> }
>
> вопросы:
> 1. как сделать так, чтобы если запрос приходит с www.$host, то файлы отдавались с того же локейшна? в частности интересует как "откусить" "www." от $host. слышал что-то о встроенном перле, но к сожалению не знаю этого языка..
> 2. насколько велика абсурдность идеи?
Поставить 0.8.29 и
server {
listen 80;
server_name ~^(www\.)?(?<name>.*)$;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_redirect off;
proxt_set_header Host $host;
}
location ~* \.(jpg|gif|png)$ {
root /home/$name;
}
}
--
Игорь Сысоев
http://sysoev.ru
Подробная информация о списке рассылки nginx-ru