Re: Помогите с редиректом
Maxim Dounin
mdounin at mdounin.ru
Tue Jul 15 12:22:16 UTC 2014
Hello!
On Tue, Jul 15, 2014 at 04:41:45AM -0400, luckysrg wrote:
> Всем привет, очень нужна помощь, сайт был полностью на https, в связи с этим
> были характерные проблемы с поисковикми, не индексиравались картинки, нет
> favicon. Собственно, нужно теперь поставить 301 редирект на все страницы с
> https, но оставить редирект на https в личный кабинет и на страницу оплаты,
> с первой частью вопросов нет, но, вот, чтобы обе части выполняли условия не
> получается, прошу помощи.
>
>
> вот пациент
>
> server {
> server_name example.ru www.example.ru;
> listen 144.*.*.*;
> listen 144.*.*.*:443 ssl;
> disable_symlinks if_not_owner from=$root_path;
> set $root_path /var/www/example/data/www/example.ru;
> #rewrite ^(.*) https://$host$1 permanent;
> if ( $scheme = "http" ) {
> rewrite ^/(.*)$ https://$host/$1 permanent;
> }
Начать имеет смысл с простого: разделить http и https, описав их в
разных блоках server{}. И соответственно перенаправления делать -
в зависимости от выбранного server'а / location'а, а не играть в
игры с проверкой переменных в рамках "единого" сервера:
server {
listen 443 ssl;
server_name example.com;
...
}
server {
listen 80;
server_name example.com;
return 301 https://$server_name$request_uri;
}
После этого большая часть проблем должна отпасть.
--
Maxim Dounin
http://nginx.org/
Подробная информация о списке рассылки nginx-ru