Перенаправление с MVC и HTTPS - PullRequest
0 голосов
/ 02 мая 2018

Я создал сайт, следуя MVC-структуре из серии CodeCourse-youtube https://www.youtube.com/watch?v=OsCTzGASImQ.

Папка имеет структуру:

enter image description here

Теперь есть три .htaccess-файла. Один в папке "bestil", один в папке "app" и один в папке "public".

Папка "Bestil" .htaccess:

RewriteEngine On

RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{HTTP_HOST}/$1 [R,L]

RedirectMatch ^/$ /public/

папка "public" .htaccess:

Options -MultiViews
RewriteEngine On

RewriteBase /public

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]

.htacess-файл в папке приложения просто блокирует беспрепятственный доступ. Как вы можете видеть, я пытался смешать свои условия MVC-перезаписи с https, что не работает, так как весь загруженный контент «смешан», поэтому .css-файлы и .js-файлы загружаются через http.

Я не эксперт по написанию .htaccess, поэтому я спрашиваю вас, как сделать оба .htacess-файла правильными?

Спасибо

1 Ответ

0 голосов
/ 02 мая 2018

Как вы можете видеть, я пытался смешать свои условия MVC-перезаписи с https, что не работает, так как весь загруженный контент «смешан», поэтому .css-файлы и .js-файлы загружаются через http .

Проблема не имеет ничего общего с mod_rewrite.

После загрузки HTML-страницы по HTTPS она содержит инструкции, которые говорят браузеру загружать CSS и JS по HTTP.

Даже если попытка сделать это приведет к перенаправлению обратно на HTTPS, безопасность уже нарушена, поэтому браузер жалуется.

Вам нужно изменить HTML-код так, чтобы URL-адреса, которые вы указали для JS и CSS с помощью HTTPS с самого начала. Этого легче всего достичь, используя относительные URL-адреса вместо абсолютных URL-адресов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...