ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Redirect с переменной $host в условии



On Fri, 26 Aug 2005, Alexander Yusupov wrote:

Забыл сказать что с $http_host тоже пробовал, т.е.:
if ($http_host ~ !^www\. ){
 rewrite  ^(.*)$  http://www.$http_host$1;
} не работает.

Постройте отдельный виртуальный хост, в котором безусловно редиректе в нужное место:

        server {
                listen 80;
                server_name somename.com;
                rewrite  ^(.*)$  http://www.somename.com$1;
                access_log /var/log/nginx/access.log vhost;
        }

On Friday 26 August 2005 01:26, Igor Sysoev wrote:
On Fri, 26 Aug 2005, Alexander Yusupov wrote:
Есть несколько виртуальных серверов (все описаны в едином разделе
server). Требуется следуюшие: проверятся наличие www. в имени домена,
если нет, то идет редирект на www.$host

в апаче можно сделать так:

RewriteCond %{HTTP_HOST}   !^www\. [NC]
RewriteCond %{HTTP_HOST}   !^$
RewriteRule ^/(.*)         http://www.%{HTTP_HOST}/$1 [L,R=301]

в nginx такой способ не работает, покрайней мере у меня:
if ($host ~* !^www\.){
  rewrite  ^(.*)$  http://www.$host$1;
}

есть идеи как можно такое сделать?


--
Best regards,
Andrew Kopeyko <kaa@xxxxxxxxx>
CTO

  Rambler Telecom       http://www.ramtel.ru/
  phone :               +7 095 745-3619




 




Copyright © Lexa Software, 1996-2009.