Всем привет. Подскажите как правильно настроить .htaccess. Движок магазина image cms. Много внешних ссылок ведут на страницы .shtml от старого движка. Поэтому настроил что бы автоматом убирало .shtml:
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^.]+)\.shtml\
HTTPRewriteRule ^([^\.]+)\.p?shtml?$
https://мойсайт/ [R=301,L]
RewriteCond %{REQUEST_URI} !(\.[^./]+)$
RewriteCond %{REQUEST_fileNAME} !-d
RewriteCond %{REQUEST_fileNAME} !-f
RewriteRule (.*) /$1.shtml [L]
Теперь переехал на https и теперь нужно поставить 301 редирект.
Такой вариант теперь не подходит так как теперь начинает дописывать везде .shtml
RewriteCond %{HTTPS} on
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$
https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Какой есть еще выход? В .htaccess шарю хреново отсюда все беды. Я так предпологаю что решение редиректов .shtml можно сделать вручную каждую страницу и потом выставить 301 для https стандартным образом и тогда они не будут конфликтировать. Верно?
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^www.(.+) [NC]
RewriteRule ^(.*) https://%1/$1 [R=301,NE,L]
RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{мойсайт}/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^www.(.+) [NC]
RewriteRule ^(.*) https://%1/$1 [R=301,NE,L]
Теперь при заходе на некоторые страницы. Особенно категории убирает совсем сайт. и получается ошибка