Принудительный https на Heroku И совпадение доменов нарушает локальную среду WAMP - PullRequest
0 голосов
/ 21 мая 2019

Я не могу найти ответ на это. Я дал тщательный поиск. У меня настроен WAMP локально, и для доступа к нему я набираю URL примерно так:

my-site/

Затем, когда я отправляю файлы в Heroku, я получаю доступ к сайту как:

my-site.herokuapp.com

Мне нужно заставить страницы загружаться по https в Heroku. Htaccess для этого прекрасно работает на Heroku, но нарушает мою локальную среду WAMP.

Я пытался установить два условия перезаписи и связать их вместе, чтобы htaccess применялся только к Heroku и игнорировался локально. Вот как выглядит мой htaccess:

RewriteEngine On

##Force SSL 
#only if herokuappis found in the url
RewriteCond %{HTTP_HOST} ^herokuapp$

#Heroku way
RewriteCond %{HTTP:X-Forwarded-Proto} !https

#If neither above conditions are met, redirect to https
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Я позаимствовал код отсюда. Как перенаправить на HTTPS с помощью .htaccess в стеке Heroku Cedar

и пытался изменить его, чтобы он работал на меня, но безрезультатно.

Я даже пробовал другие варианты, чтобы обнаружить героку в URL, например:

RewriteCond %{QUERY_STRING} heroku

или

RewriteCond %{REQUEST_URI} heroku

Но я могу неправильно понять, как они используются. Я просто пытаюсь соответствовать двум условиям, но, честно говоря, если бы я мог сделать это с тем, что было бы хорошо. Если бы я мог просто заставить HTTPS в любое время, когда URL содержит heroku, это также сработало бы.

Заранее спасибо.

РЕДАКТИРОВАТЬ: Когда я загружаю сайт на локальном компьютере, я получаю

This site can’t be reached my-site refused to connect.
Try:Checking the connection
Checking the proxy and the firewall
ERR_CONNECTION_REFUSED

1 Ответ

1 голос
/ 21 мая 2019
RewriteCond %{HTTP_HOST} ^herokuapp$

В регулярное выражение , ^ указывает «начало строки», а $ указывает «конец строки».

Таким образом,ваше правило будет применяться только в том случае, если HTTP_HOST равно точно herokuapp.my-site.herokuapp.com никогда не будет соответствовать этому правилу.

RewriteCond %{HTTP_HOST} \.herokuapp\.com$

применяет правило к именам хостов, оканчивающимся на .herokuapp.com.

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