Welcome! Log In Create A New Profile

Advanced

вопрос по rewrite и subdomain

sh
March 24, 2010 02:27PM
Здравствуйте.

Уткнулся в такую проблему.
Есть сайт с такой структурой
http://domain.com/catalog/firm1
http://domain.com/catalog/firm2

Появилось желание у владельца сделать, что бы странички компаний были доступны в виде
http://firm1.domain.com/
http://firm2.domain.com/

Изначально добавил в конфиг server_name *.domain.com и попытался решить вопрос реврайтом:

if ($host ~* ^([a-z0-9-\.]+)\.domain.com$) {
set $subdomain $1;
rewrite ^ /index.php/enterprises/$subdomain last;
break;
}

По итогу получил на поддоменах отображение корня сайта.
Перечитал список рассылки и форум, пошел по рецептам, сделал второй виртуал хост в который вынес обработку поддоменов:

server {
listen 80;
server_name ~^([^.]+)\.domain\.com$;
set $subdomain $1;
server_tokens off;

send_timeout 120;

root /usr/local/www/nginx;
index index.php;
fastcgi_index index.php;

rewrite \.(js|ico|gif|jpg|png|css|flv)$ /$uri break;
#Тут пробовал еще rewrite ^ /index.php$uri$subdomain break;
rewrite / /index.php$uri$subdomain break;

location ~ \.php {
include fastcgi_params;
keepalive_timeout 0;
expires 30d;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass 127.0.0.1:9000;
}

}

В результате тот же эффект - корень сайта.

debug лог:
2010/03/24 20:16:28 [notice] 52531#0: *10862 "/" matches "/", client: 89.252.34.110, server: ~^([^.]+)\.domain\.com$, request: "GET / HTTP/1.1", host: "firm1.domain.com"
2010/03/24 20:16:28 [notice] 52531#0: *10862 rewritten data: "/index.php/firm1", args: "", client: 89.252.34.110, server: ~^([^.]+)\.domain\.com$, request: "GET / HTTP/1.1", host: "firm1.domain.com"

nginx -V
nginx version: nginx/0.8.33
configure arguments: --prefix=/usr/local/etc/nginx --with-cc-opt='-I /usr/local/include' --with-ld-opt='-L /usr/local/lib' --conf-path=/usr/local/etc/nginx/nginx.conf --sbin-path=/usr/local/sbin/nginx --pid-path=/var/run/nginx.pid --error-log-path=/var/log/nginx-error.log --user=www --group=www --http-client-body-temp-path=/var/tmp/nginx/client_body_temp --http-proxy-temp-path=/var/tmp/nginx/proxy_temp --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi_temp --http-log-path=/var/log/nginx-access.log --with-http_dav_module --with-http_flv_module --with-http_geoip_module --with-http_gzip_static_module --with-http_perl_module --with-http_realip_module --with-http_stub_status_module --with-pcre

В чем я туплю и почему открывается только корень, понять не могу. Прошу помощи. Свои идеи закончились.
Subject Author Posted

вопрос по rewrite и subdomain

sh March 24, 2010 02:27PM

Re: вопрос по rewrite и subdomain

silly sad March 25, 2010 02:06AM

Re: вопрос по rewrite и subdomain

Vladislav Vorobiev March 25, 2010 02:40AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 316
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready