SEO Сообщество: Спрашивайте и помогайте

Присоединяйтесь к сообществу профессиональных веб-мастеров PR-CY, отвечайте на вопросы коллег и задавайте свои.

Q&A SEO

Помогите с настройкой .htaccess

Jasper Jasper  
3
  07.05.2017 01:04       1 360    
Всем привет. Подскажите как правильно настроить .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 стандартным образом и тогда они не будут конфликтировать. Верно? 

Ответы на пост (4) Написать ответ
Вилы Выкидные Вилы Выкидные
20
07.05.2017 05:12
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^www.(.+) [NC]
RewriteRule ^(.*) https://%1/$1 [R=301,NE,L]
0
Решение
Jasper Jasper
3
07.05.2017 12:53
Все работает, но если перехожу на страницу мойсайт/staticpage.shtml он должен перекидывать на мойсайт/staticpage но перекидывает на https://staticpage.shtml
0
Jasper Jasper
3
07.05.2017 12:55
Прописать редиректы на эти страницы может вручную? Отдельно на каждую? Их не больше 10 штук. Как это сделать? Спасибо
0
Jasper Jasper
3
07.05.2017 15:08
Вообщем редиректы настроил с помощью движка в админке. Осталось в .htaccess:
RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{мойсайт}/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^www.(.+) [NC]
RewriteRule ^(.*) https://%1/$1 [R=301,NE,L]

Теперь при заходе на некоторые страницы. Особенно категории убирает совсем сайт. и получается ошибка
0