Mesuti
@Mesuti

Как сохранить защиту и добавить правильный редирект с www на без www?

При переходе на страницу www.site.ru/page/test
Редирект на site.ru/index.php/test
При переходе на страницу www.site.ru
Редирект на site.ru/index.php с ошибкой 404

Я так понимаю проблема с частью кода, где указан index.php, но если его убрать, страницы кроме главной выдают ошибку 404

Как сохранить защиту и добавить правильный редирект с www на без www ?

RewriteEngine On

RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule ^(.*)$ index.php [F,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^.*$ index.php 

#Редирект с www на без www
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.site.ru$ [NC]
RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]
  • Вопрос задан
  • 45 просмотров
Решения вопроса 1
Wacdis
@Wacdis
PHP, Python, GO, Rust, NodeJS, SOA/MSA
RewriteEngine on
	# www to non-www
	RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
	RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
	# http to https
	RewriteCond %{HTTPS} off
	RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

	RewriteCond %{REQUEST_FILENAME} !-l
	RewriteCond %{REQUEST_FILENAME} !-f
	RewriteCond %{REQUEST_FILENAME} !-d
	RewriteRule ^(.*)$ index.php [L,QSA]
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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