htaccess переписать http в https и удалить подкаталог из URL - PullRequest
0 голосов
/ 13 мая 2019

Привет! Я использую Deployer для развертывания веб-сайта Craft CMS. Сайт имеет ссылку на каталог под названием «текущий». Я использую mod rewrite, чтобы удалить / current / public из URL в корне документа, вот так:

RewriteEngine On
RewriteCond %{REQUEST_URI} !current/public/
RewriteRule (.*) /current/public/$1 [L]

А внутри текущей / публичной папки есть этот htaccess для удаления index.php и создания хороших URL:

RewriteEngine On
# Send would-be 404 requests to Craft
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/(favicon\.ico|apple-touch-icon.*\.png)$ [NC]
RewriteRule (.+) index.php?p=$1 [QSA,L]

Редактировать - Тест

Следующее работает, чтобы заставить HTTPS, но я заканчиваю с URL, похожими на: example.com/current/public/about и т. д.

RewriteEngine On

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

# Send would-be 404 requests to Craft
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/(favicon\.ico|apple-touch-icon.*\.png)$ [NC]
RewriteRule (.+) index.php?p=$1 [QSA,L]

Как я могу настроить это так, чтобы сайт всегда использовал HTTPS?

Ответы [ 2 ]

0 голосов
/ 15 мая 2019

Вот что мне удалось получить:

RewriteEngine on
RewriteRule ^(.*)$ current/public/$1
RewriteCond %{HTTP:X-Forwarded-Proto} !=https
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=302,L]
0 голосов
/ 13 мая 2019

Это перенаправит весь http-запрос на https.RewriteEngine On

RewriteCond% {SERVER_PORT} 80

RewriteCond% {HTTP_HOST} ^ (www.)? Yourdomainname.com

RewriteRule ^ (. *) $ https://www.yourdomainname.com/$1 [R, L]

Надеюсь, это поможет вам

...