Jump to content

Правильный редирект на https


Recommended Posts

Товарищи, добрый день. Уже в который раз сталкиваюсь с такой проблемой, но хочу раз и навсегда найти решение. Возможно, оно будет полезно еще кому-то. Однозначного решения на форуме я, к сожалению, не нашел. Проблема следующая - установил ssl сертификат, прописал в файле .htaccess в корне такую конструкцию:

 

RewriteEngine on
RewriteCond %{HTTP:HTTPS} !=on [NC]
RewriteRule ^(.*)$ https://yourdomain.com/$1 [R=301,L]

SetEnvIf X-Forwarded-Proto https HTTPS=on 

(Данную конструкцию я нашел на хосте, она единственная работает.)

 

И закомментировал в файле api/Config.php эти строчки

//$protocol = strtolower(substr($_SERVER["SERVER_PROTOCOL"],0,5))=='https'? 'https' : 'http';
//if($_SERVER["SERVER_PORT"] == 443)
 

Сайт открывается по https как и задумано, но с админкой проблема. После авторизации перекидывает на страницу восстановления пароля. Я находил на форуме несколько советов по решению данной проблемы. В частности, пробовал прописывать вместо моего кода в .htaccess это:

RewriteEngine on
RewriteBase /
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

 

Пробовал варианта 4 разных директив, но все они не работают на хостинге sweb.ru, происходит множественная переадресация.

Я даже в файле simpla/.htaccess прописывал:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

AuthName "Simpla CMS"
AuthType Basic
AuthUserFile /home/data/**/www/simpla/.passwd

require valid-user

Это тоже не дало мне нужного результата.

 

Прежде чем, создавать тему, я обратился в службу поддержки хоста, я думал может у них там что происходит. Они мне дали ответ, что с их стороны все в порядке и проблема в самой cms и предложили в качестве временной меры закомментировать строку "ErrorDocument 401 /password.php". Это помогло, в админку стало пускать, правда, только теперь надо 2 раза авторизовываться (не пойму почему). Но я думаю, что это решение очень не верное. Поэтому спрашиваю вашего совета, как быть с этой переадресацией? Хочется, чтобы раз и навсегда закрыть вопрос с протоколом https на симпле.

 

Link to post
Share on other sites

Да действительно, у меня тоже со слешем в конце сработало. Правда сразу после авторизации перенаправило на страницу восстановления, но со второго раза все норм). Это получается каждый раз надо будет дописывать / в конце, чтоб в админку попасть?

Link to post
Share on other sites

Чтобы решить эту проблему раз и навсегда надо для начала отказаться от всяких левых правил в .htaccess и сделать роутер для урлов.

Потом узнать где идёт неверное перенапрапвление и поменять. Тогда при смене хостинга или вебсервера вам не придётся с этим заморачиваться НИКОГДА.

Link to post
Share on other sites

Да действительно, у меня тоже со слешем в конце сработало. Правда сразу после авторизации перенаправило на страницу восстановления, но со второго раза все норм). Это получается каждый раз надо будет дописывать / в конце, чтоб в админку попасть?

Так точно.

Уже не первый год пользуюсь, нормально, ничего сложного дописать слеш в конце.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...