эффективный редирект к основному имени домена
Igor Sysoev
is at rambler-co.ru
Sat Jul 28 16:14:07 MSD 2007
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 {
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
More information about the nginx-ru
mailing list