IwanQ
@IwanQ
Плохие времена часто дают прекрасные возможности

Как объединить несколько команд в htaccess?

Здравствуйте. Как мне объединить 2 команды в 1 файл?
1. Убрать .html и адреса
RewriteEngine on
RewriteBase /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^.]+)\.html\ HTTP
RewriteRule ^([^\.]+)\.p?html?$ http://wot-shop.icu/$1 [R=301,L]
RewriteCond %{REQUEST_URI} !(\.[^./]+)$
RewriteCond %{REQUEST_fileNAME} !-d
RewriteCond %{REQUEST_fileNAME} !-f
RewriteRule (.*) /$1.html [L]
2. Редирект на https
RewriteEngine On
RewriteCond %{HTTPS} =off 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]
  • Вопрос задан
  • 46 просмотров
Решения вопроса 1
@dodo512
RewriteEngine On

RewriteCond %{THE_REQUEST} ^\S+\s+/([^.?]+)\.html
RewriteRule ^  https://wot-shop.icu/%1 [R=301,L]

RewriteCond %{HTTPS}     =off   [OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteRule (.*)  https://wot-shop.icu/$1 [R=301,L]

RewriteCond %{REQUEST_URI} !(\.[^./]+)$
RewriteCond %{REQUEST_fileNAME} !-d
RewriteCond %{REQUEST_fileNAME} !-f
RewriteRule (.*) /$1.html [L]
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
shambler81
@shambler81 Куратор тега htaccess
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^.]+)\.html\ HTTP
RewriteRule ^([^\.]+)\.p?html?$ https://site.ru/wot-shop.icu/$1 [R=301,L]

Но лучше так не делать. поскольку редиректов может быть больше
например с ввв
и это уже три, на вскидку добавим добавление слеша и удаление его если это файл, а это уже пятьт
а пять условий в одном будет не читаемо
Ответ написан
Ваш ответ на вопрос

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

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