- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Маркетинг для шоколадной фабрики. На 34% выше средний чек
Через устранение узких мест
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Приветствую!
Помогите пожалуйста знающие люди, возник такой вопрос.
На сайте Nginx + Apache, ставим редирект с домена без на с www.
При склейке домена www и без в через Nginx, перестает работать сжатие gzip для файлов только для домена без www.
Что нужно добавить или изменить?
# Server Block — non-www to www
#server {
# listen 80;
# server_name site.com;
# return 301 $scheme://www.site.com$request_uri;
# }
# Default website
server {
listen 80;
server_name www.site.com site.com;
server_name_in_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host:80;
# попытаться отдать файл с одним из расширений напрямую минуя apache
location ~* \.(swf|zip|rar|arj|cab|exe|dll|ico|jpg|jpeg|gif|bmp|png|mp3|avi|mov|mpg|mpeg|txt|amr|mmf|wml|wbmp|mid|midi|3gp|js|css|htm|html?)$ {
charset utf-8;
source_charset utf-8;
try_files $uri @apache;
}
# Запрещаем обращение по айпи, а только к домену
if ($host !~ ^(site.com|www.site.com)$ ) {
return 403;
}
set $proxyserver "http://127.0.0.1:8888";
set $docroot "/home/bitrix/www";
index index.php;
root /home/bitrix/www;
1. Где gzip — средствами Apache или CMS?
2. На каком этапе перестаёт работать сжатие — для клиента, прошедшего редирект, либо для всех?
DenisVS,
1. gzip там же, на Nginx
2. Перестает работать только для клиента прошедшего редирект с site.com на www.site.com
Если убрать редирект, все прекрасно работает...
https://yadi.sk/i/V9GyQhmip4S6r
Видимо включено сжатие только для основного домена (с www). Попробуйте включить и для без www, или в общем конфиге, для всего сервера. В приведенном конфиге нету ни самого редиректа, ни сжатия. У вас отдельный виртуалхост для домена без www?
redeyer,
Видимо проблема с редиректом, так как если его убрать, сжатие проходит для обоих доменов. Посмотрите самые первые строки, это и есть редирект. Конфиг находится в папке nginx/site_avaliable/, команды сжатия в основном nginx.conf
Попробуйте такой конфиг:
server {
listen 80;
server_name www.site.com;
rewrite ^ http://site.com$request_uri? permanent;
}
server {
listen 80;
server_name site.com;
server_name_in_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host:80;
# попытаться отдать файл с одним из расширений напрямую минуя apache
location ~* \.(swf|zip|rar|arj|cab|exe|dll|ico|jpg|jpeg|gif|bmp|png|mp3|avi|mov|mpg|mpeg|txt|amr|mmf|wml|wbmp|mid|midi|3gp|js|css|htm|html?)$ {
charset utf-8;
source_charset utf-8;
try_files $uri @apache;
}
# Запрещаем обращение по айпи, а только к домену
if ($host !~ ^(site.com|www.site.com)$ ) {
return 403;
}
set $proxyserver "http://127.0.0.1:8888";
set $docroot "/home/bitrix/www";
index index.php;
root /home/bitrix/www;
Попробовал, не работает редирект.
Сжатие работает ))
Попробуйте такой конфиг:
server {
listen 80;
server_name www.site.com;
rewrite ^ http://site.com$request_uri? permanent;
}
server {
listen 80;
server_name site.com;
server_name_in_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host:80;
# попытаться отдать файл с одним из расширений напрямую минуя apache
location ~* \.(swf|zip|rar|arj|cab|exe|dll|ico|jpg|jpeg|gif|bmp|png|mp3|avi|mov|mpg|mpeg|txt|amr|mmf|wml|wbmp|mid|midi|3gp|js|css|htm|html?)$ {
charset utf-8;
source_charset utf-8;
try_files $uri @apache;
}
# Запрещаем обращение по айпи, а только к домену
if ($host !~ ^(site.com|www.site.com)$ ) {
return 403;
}
set $proxyserver "http://127.0.0.1:8888";
set $docroot "/home/bitrix/www";
index index.php;
root /home/bitrix/www;
Подправьте строчку с редиректом немного:
Без результатно, не работает редирект
Подправьте строчку с редиректом немного:
---------- Добавлено 18.02.2016 в 20:29 ----------
Вернее, редирект то работает, но в таком случае выключается сжатие для этого домена
Без результатно, не работает редирект
Вернее, редирект то работает, но в таком случае выключается сжатие для этого домена
Ну значит всё же не для всего сервера у вас включено сжатие, а для конкретного виртуалхоста. Других объяснений не вижу.
Покажите конфиг, где у вас сжатие включено.
redeyer,
Ну значит всё же не для всего сервера у вас включено сжатие, а для конкретного виртуалхоста. Других объяснений не вижу.
Покажите конфиг, где у вас сжатие включено.
Вот что есть в nginx.config