Пытаюсь настроить редирект в нжинсе
Но чет не получается
Вот что сейчас
server {
listen 80;
server_name www.hr-portal.ru;
return 301 http://hr-portal.ru.ru$request_uri;
}
server {
server_name hr-portal.ru www.hr-portal.ru;
charset off;
disable_symlinks if_not_owner from=$root_path;
index index.html index.php;
root $root_path;
set $root_path /var/www/hrportal/data/www/hr-portal.ru;
ssi on;
access_log /var/www/httpd-logs/hr-portal.ru.access.log ;
error_log /var/www/httpd-logs/hr-portal.ru.error.log notice;
include /etc/nginx/vhosts-includes/*.conf;
и тд
Если я убираю "www.hr-portal.ru" в
То по урлу с www открывается другой сайт
Ничего не понимаю, куда копать
пробовал верхнюю секцию server писать так, но тоже не работает
listen 80;
server_name www.hr-portal.ru.ru;
return 301 http://hr-portal.ru.ru$request_uri;
}
Комментарии
Интересно проглючил модуль nofollow. щя попробую поправить.
server_name www.example.ru;
rewrite (.*) http://example.ru$1;
}
Как не стыдно Егорка, сломал Валерчику сайт.
Скорее топик:) порядок фильтров поменял. А то код не корректно отображался.
Да по всякому пробовал
вот так вписал
server_name www.hr-portal.ru;
rewrite (.*) http://hr-portal.ru$1;
}
server {
server_name hr-portal.ru;
charset off;
disable_symlinks if_not_owner from=$root_path;
index index.html index.php;
root $root_path;
set $root_path /var/www/hrportal/data/www/hr-portal.ru;
ssi on;
и тд
Теперь урл
www.hr-portal.ru
открывает другой сайт
какой это - другой?
сайт жены, расположенный на этом же хостинге
у вас значит в определении хоста не указан www:
https://www.nginx.com/resources/wiki/start/topics/recipes/drupal/ - тут нету а у меня есть
http://tlito.ru/node/278/ - вот тут обратите внимание на строки
server_name www.EXAMPLE.COM .EXAMPLE.COM;
root /var/www/EXAMPLE.COM/www;
на строке server_name надо оба домена: www и без www
ну а редирект тут например https://www.digitalocean.com/community/tutorials/how-to-redirect-www-to-...
и тут https://easyengine.io/tutorials/nginx/www-non-www-redirection/
Ну правильно, я вписываю и домен с www
Прямо сейчас вот так, по www открывается мой сайт, но редиректа нет
server_name www.hr-portal.ru;
rewrite (.*) http://hr-portal.ru$1;
}
server {
server_name hr-portal.ru www.hr-portal.ru;
charset off;
disable_symlinks if_not_owner from=$root_path;
index index.html index.php;
root $root_path;
set $root_path /var/www/hrportal/data/www/hr-portal.ru;
ssi on;
и тд
вставьте так и рестарьте нгиникс
server_name www.hr-portal.ru *.hr-portal.ru;
rewrite (.*) http://hr-portal.ru$1;
}
server {
server_name hr-portal.ru www.hr-portal.ru;
charset off;
disable_symlinks if_not_owner from=$root_path;
index index.html index.php;
root $root_path;
set $root_path /var/www/hrportal/data/www/hr-portal.ru;
ssi on;
вот мой конфиг, в котором нормально работает редирект с ввв на без ввв. (домен - а ля экзампл)
server {
listen 80;
server_name www.tli.co tli.co;
set $main_host 'tli.co';
if ($host != $main_host) {
rewrite ^(.*)$ http://$main_host$1 permanent;
break;
}
access_log /var/log/nginx/tli.co.access.log;
error_log /var/log/nginx/tli.co.error.log;
root /var/www/$main_host/www;
index index.php index.html index.htm;
location ~ \.php$ {
include /etc/nginx/conf.d/fastcgi_params.conf;
fastcgi_param SCRIPT_FILENAME /var/www/$main_host/www$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT /var/www/$main_host/www;
fastcgi_param PHP_ADMIN_VALUE upload_tmp_dir=/var/www/$main_host/tmp/upload;
fastcgi_param PHP_ADMIN_VALUE session.save_path=/var/www/$main_host/tmp/sessions;
}
location ~ /\. {
deny all;
access_log off;
log_not_found off;
}
location / {
try_files $uri @cache;
}
location @cache {
if ($http_cookie ~ "DRUPAL_UID") { return 405; }
if ($request_method !~ ^(GET|HEAD)$ ) { return 405; }
error_page 405 = @drupal;
gzip on;
add_header Expires "Tue, 22 Sep 1974 08:00:00 GMT";
add_header Cache-Control "must-revalidate, post-check=0, pre-check=0";
try_files /cache/normal/$host/${uri}_.html /cache/perm/$host/${uri}_.css /cache/perm/$host/${uri}_.js /cache/$host/0$uri.html /cache/$host/0${uri}/index.html @drupal;
}
location @drupal {
rewrite ^/(.*)$ /index.php?q=$1;
}
location @rewrite {
rewrite ^/(.*)$ /index.php?q=$1;
}
location ~ ^/images/styles/ {
try_files $uri @rewrite;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
expires max;
log_not_found off;
}
}
вам надо обратить внимание на директиву server_name в которой два параметра www.tli.co и *.tli.co
и эту секцию
rewrite ^(.*)$ http://$main_host$1 permanent;
break;
}
кстати использование переменной в нгиникс - очень удобно.
Кажись заработало
Спасибо!
только сегодня обнаружил, что в этом конфиге была ошибка в секции location @cache {} - из-за чего буст показывал кеш первой страницы категории на всех остальных страницах пейджера (не учитывался параметр ?page=2 ...)
то есть надо исправить так:
try_files /cache/normal/$host/${uri}_${args}.html /cache/perm/$host/${uri}_.css /cache/perm/$host/${uri}_.js /cache/$host/0$uri.html /cache/$host/0${uri}/index.html @drupal;
добавил переменную ${args} так работает кэш буст