Переадресация http на https через htaccess с помощью Slim API Framework - PullRequest
0 голосов
/ 23 ноября 2018

Я пытаюсь защитить свой API, который использует платформу Slim и использует файл htaccess для пересылки всего трафика в index.php, который позволяет API работать.

Например, вызов http://api.mydomainname.co.uk/expert/id=MB7763255 отлично работает, используя следующие настройки в htaccess:

RewriteEngine On
RewriteBase /

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

RewriteRule . index.php [L]

Теперь я пытаюсь принудительно заставить весь HTTP-трафик HTTPS, и я пробовал много вариантов в файле htaccess, которые перенаправляют трафикно затем остановите работу моего веб-сервиса, показывая «404 not found».

Это то, что я пытался:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Или ...

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%/index.php [R=301,L]

Оба безуспешно - кто-нибудь может указать мне правильное направление, пожалуйста, я исчерпал Stack Overflow и Google.

1 Ответ

0 голосов
/ 23 ноября 2018

Исправлено!Я опубликую это для всех, кто испытывает ту же проблему.

RewriteEngine on

RewriteBase /

RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{HTTPS} off
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

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

RewriteRule . index.php [L]
...