@Totobi

Как настроить 301 редиректы на соответствующие URL с нижним регистром?

Есть такая ТЗ:
Иногда одни и те же страницы открываются под URL-ами с разным регистром, тем самым формируют дубли.
Пример:
https://site.com/Primer/
https://site.com/primer/
Иногда в индекс могут попадать одни и те же страницы с разным регистром.
Из всех URL, в которых возникают символы верхнего регистра, необходимо настроить 301 редиректы на соответствующие URL с нижним регистром.
Это правило не должно затрагивать параметры get.
Пример ошибки: https://arcticboost.net/faceiT

server {
	server_name arcticboost.net www.arcticboost.net;
	ssl_certificate "/var/www/httpd-cert/www-root/arcticboost.net_le1.crtca";
	ssl_certificate_key "/var/www/httpd-cert/www-root/arcticboost.net_le1.key";

	if ($host = www.arcticboost.net) {
        return 301 https://arcticboost.net$request_uri;
    }

	if ($request_uri ~* [A-Z]) {
			rewrite ^/(.*)$ /$1 permanent;
    }

	ssl_ciphers EECDH:+AES256:-3DES:RSA+AES:!NULL:!RC4;
	ssl_prefer_server_ciphers on;
	ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
	ssl_dhparam /etc/ssl/certs/dhparam2048.pem;
	charset off;
	index index.php index.html;
	disable_symlinks if_not_owner from=$root_path;
	include /etc/nginx/vhosts-includes/*.conf;
	include /etc/nginx/vhosts-resources/arcticboost.net/*.conf;
	access_log /var/www/httpd-logs/arcticboost.net.access.log;
	error_log /var/www/httpd-logs/arcticboost.net.error.log notice;
	ssi on;
	set $root_path /var/www/www-root/data/www/arcticboost.net;
	root $root_path;
	gzip on;
	gzip_comp_level 5;
	gzip_disable "msie6";
	gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript;
	location / {
		location ~ [^/]\.ph(p\d*|tml)$ {
			try_files /does_not_exists @fallback;
		}
		location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {
			expires 24h;
			try_files $uri $uri/ @fallback;
		}
		location / {
			try_files /does_not_exists @fallback;
		}
	}
	location @fallback {
		proxy_pass http://127.0.0.1:8080;
		proxy_redirect http://127.0.0.1:8080 /;
		proxy_set_header Host $host;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		proxy_set_header X-Forwarded-Proto $scheme;
		proxy_set_header X-Forwarded-Port $server_port;
		access_log off;
	}

	location /accounts-cs2 {
        return 301 https://arcticboost.net/accounts/counter-strike-2;
    }

	location ~ ^/account/(4101|4097|4094|4092|4090|4089|4088|4029|4020|4017|3983|3950|3957|3960|3972)$ {

		return 301 https://arcticboost.net/;
	}

	location ~ ^/(faqs|cart|my-account|index\.html|index\.php|home)$ {
		return 301 https://arcticboost.net/;
	}

	location /index.php {
        return 301 https://arcticboost.net/;
    }

	listen 208.69.117.117:443 ssl;
}

Я использовал данное правило
if ($request_uri ~* [A-Z]) {
			rewrite ^/(.*)$ /$1 permanent;
    }

Но мне возвращает :

Страница недоступнаСайт arcticboost.net выполнил переадресацию слишком много раз.
Попробуйте удалить файлы cookie.
ERR_TOO_MANY_REDIRECTS
  • Вопрос задан
  • 104 просмотра
Пригласить эксперта
Ответы на вопрос 1
иногда одни и те же страницы открываются под URL-ами

нет никогда они так не открываются!!!
Поскольку линукс РЕГИСТРОЗАВИСИМАЯ ОС
и посколкьу для понимания этого мало то
РЕГИСТРОЗАВИСИМАЯ ОС
РЕГИСТРОЗАВИСИМАЯ ОС
РЕГИСТРОЗАВИСИМАЯ ОС
РЕГИСТРОЗАВИСИМАЯ ОС
РЕГИСТРОЗАВИСИМАЯ ОС, достали со своей виндой.
НЕТ это разные файлы
и разные урлы
и разные пути
их нельзя никогда никак и ни при каких обстоятельствах склеивать.
Вопрос почему у вас чпу или не отрабатывает это или вы намеренно сделали неправельное чпу
страница с флагом[NC] но это ваша проблема!
Правильный вариант:
https://site.com/primer/ -200 ОК
https://site.com/Primer/ -404

НУ или наоборот в зависимости от вашей политики партии, но если это реальный каталог то соответственно как он реально называется
других вариантов нет. все остальное от незнания и некомпетенции

С точки зрения сео это тоже канибализация запросов так что не нужно мне лечить за эту тему
P.S.
GET не является частью урла ( с точки зрения apache а не yandex)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы