эффективный редирект к основному имени домена
Igor Sysoev
is at rambler-co.ru
Sat Jul 28 16:17:49 MSD 2007
On Sat, Jul 28, 2007 at 04:14:07PM +0400, Igor Sysoev wrote:
> On Sat, Jul 28, 2007 at 03:52:50PM +0400, Alexey Rymonin wrote:
>
> > Hello Alexey,
> >
> > Saturday, July 28, 2007, 3:42:31 PM, you wrote:
> >
> > AR> Hello nginx-ru,
> >
> > AR> Это из документации:
> > AR> Первое имя становится основным именем сервера. По умолчанию
> > AR> используется имя машины (hostname).
> > AR> В именах серверов можно использовать "*" для замены первой или последней части имени:
> >
> > AR> А есть ли какой либо способ эффективно отдавать перманент редирект в
> > AR> случаи, если запрос пришел не по основному имени сервера... например
> > AR> server {
> > AR> server_name example.com *.example.com www.example.*;
> > AR> }
> >
> > AR> пришел запрос на http://www.example.com/pupkin.htm?id=123
> > AR> получаем 301 редирект на http://example.com/pupkin.htm
> > пришел запрос на http://www.example.com/pupkin.htm?id=123
> > получаем 301 редирект на http://example.com/pupkin.htm?id=123
> > только так ясное дело :-)
> >
> > AR> Не охото обходится регулярными выражениями, потому что очень толстые
> > AR> получаются, поскольку например для домена хочется основные домены так
> > AR> распределять например
> > AR> server_name www.example.com example.com
> > AR> server_name www.example.spb.ru example.spb.ru
> > AR> server_name pupkin.example.ru www.pupkin.example.ru
>
> map $http_server $redirect {
- map $http_server $redirect {
+ map $http_host $redirect {
> www.example.com example.com;
> www.example.spb.ru example.spb.ru;
> www.pupkin.example.ru pupkin.example.ru;
> }
>
>
> server {
> server_name www.example.com
> www.example.spb.ru
> www.pupkin.example.ru
> ;
>
> rewrite ^(.+)$ http://$redirect$1 permanent;
> }
>
>
> --
> Игорь Сысоев
> http://sysoev.ru
>
--
Игорь Сысоев
http://sysoev.ru
More information about the nginx-ru
mailing list