Re[2]: Проблема с rewrite
andrey at mail.anti-aging-drugs.com
andrey at mail.anti-aging-drugs.com
Tue Aug 29 20:16:31 MSD 2006
Здравствуйте, Igor.
Спасибо за идею с двумя серверами. Очень понравилось во всех
отношениях.
Такой вариант сработает так, как ожидается?
server {
listen 81;
server_name www.example.ws example.ws;
location / {
root /home/example/data/public_html;
index index.html index.htm;
}
}
server {
listen 81;
server_name *.example.ws;
location / {
alias /users/;
index index.html index.htm;
}
}
> On Tue, 29 Aug 2006, Andrey Kravchenko wrote:
>> Задача: нужно перенаправить все запросы с доменов вида XXX.example.ws
>> в конкретную папку.
>>
>> Делаю таким конфигом:
>>
>> server {
>> error_log logs/example_error.log debug;
>> listen 81;
>> server_name example.ws *.example.ws;
>> location / {
>> root /home/example/data/public_html;
>> index index.html index.htm;
>> }
>>
>> if ($host ~* .+\.example\.ws) {
>> rewrite ^(.*)$ /users$1 break;
>> }
>>
>> }
>>
>> При запросе на http://example.ws:81/ все работает.
>>
>> При запросах вида http://XXX.example.ws:81/ получаю 404 ошибку с таким
>> логом:
>>
>> 2006/08/29 19:09:19 [error] 44111#0: *4669382 open()
>> "/home/example/data/public_html/users/users/inde
>> x.htm" failed (2: No such file or directory), client:
>> 195.234.72.66, server: example.ws, URL: "/", ho
>> st: "qweqwee.example.ws:81"
>>
>> Замена break на last никак не влияет, а других проблемных мест не
>> нахожу. Куда смотреть?
>>
>> P.S. nginx/0.3.51
> Так как "if rewrite" описан на уровне сервера и запрос для
> XXX.example.ws:81/ обрабатывается так:
> 1) uri переписывается в /users/.
> 2) затем запрос попадает в "location /"
> 3) после этого перебираются индексы.
> Нужно, if поставить внутрь "location /" и описать для него нужный root.
> А вообще, я бы такую задачу решил бы двумя серверами:
> server {
> listen 81;
> server_name example.ws;
> location / {
> root /home/example/data/public_html;
> index index.html index.htm;
> }
> }
> server {
> listen 81;
> server_name www.example.ws *.example.ws;
> location / {
> alias /users/;
> index index.html index.htm;
> }
> }
> Игорь Сысоев
> http://sysoev.ru
--
С уважением,
noreply mailto:noreply at mail.anti-aging-drugs.com
More information about the nginx-ru
mailing list