Created
May 2, 2023 23:51
-
-
Save aktaumag/ed8e224e6e2f76c97744c308fa8431db to your computer and use it in GitHub Desktop.
Заметки для настроек сервера, .htaccess, php, js
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Заметки для настроек сервера, .htaccess, php, js |
Author
Author
Переадресация двойных финальных слэшей на одинарный финальный слэш в .htaccess
Был уверен, что сработает это правило, но оно не сработало для Beget
RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} \/\/$
RewriteRule ^(.*)\/\/$ https://wseo.pw/$1/ [R=301,L]
# такое окончание тоже не сработало
# RewriteCond %{REQUEST_URI} (.+)//$
# RewriteRule ^ %1/ [L,R=301]
Запросил помощи в техподдержке Beget и они сделали такое правило
RewriteEngine On
RewriteCond %{REQUEST_URI} ^(.*?)\/{2,}(.*?)$
RewriteRule . %1/%2 [L,R=301]
RewriteCond %{THE_REQUEST} //
RewriteRule .* /$0 [R=301,L]
Оно создавало двойной редирект... в итоге переделал на нижеуказанное и пропадали как финальные, так и внутренние слэши
RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{THE_REQUEST} //
RewriteRule ^(.*)$ https://wseo.pw/$1 [R=301,L]
Author
с WWW на БЕЗ-WWW
# Перенаправление на БЕЗ WWW и сразу на HTTPS, по примеру техподдержки TimeWeb
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ https://wseo.pw/$1 [R=301,L]
с БЕЗ-WWW на WWW
# Перенаправление на WWW и сразу на HTTPS, которое сдела сама техподдержка TimeWeb
RewriteCond %{HTTP_HOST} !^www\.(.*) [NC]
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]
Author
На HTTPS
Для TimeWeb
RewriteCond %{HTTP:X-HTTPS} !1
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
Для Beget
RewriteCond %{HTTP:X-Forwarded-Proto} !=https
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
Ещё вариант
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Author
Для удаления index.php
для главной и прочих страниц
RewriteCond %{THE_REQUEST} ^.*/index.php [NC]
RewriteCond %{REQUEST_URI} !^/bitrix/admin/ [NC]
RewriteRule ^(.*)index.php$ https://wseo.pw/$1 [R=301,L]
Author
HSTS заголовок настраивается в .htaccess
Header set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" env=HTTPS
Author
Полезные ссылки:
Тестировщик
https://htaccess.madewithlove.com/
Примеры основных ситуаций
https://web-optimizator.com/301-redirekt-htaccess/
Проверка цепочек переадресаций:
https://www.websiteplanet.com/ru/webtools/redirected/
Проверка кода ответа и заголовков:
https://bertal.ru/
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Переадресация без слэша на финальный слэш в .htaccess
Для исключения из переадресации админки битрикса использовать
RewriteCond %{REQUEST_URI} !^/bitrix/admin/