Заставить все страницы к https в htaccess при сохранении текущих правил - PullRequest
0 голосов
/ 14 октября 2011

У меня есть текущий htaccess в папке, расположенной по адресу http://www.mydomain.com/dev

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /dev/index.php [L]

Я попытался изменить мою последнюю строку на:

RewriteRule ^(.*)$ https://www.mydomain.com/dev/index.php [L]

Однако это не сработало исайт бросил ISE.Все должно работать через mydomain.com/dev/index.php.

1 Ответ

0 голосов
/ 14 октября 2011

Самый простой способ добиться этого - создать отдельный виртуальный хост на порту 80, который перенаправляет все на https.В вашей конфигурации Apache это должно выглядеть примерно так:

<VirtualHost *:80>
    ServerName example.com

    # Force usage of SSL
    Redirect / https://example.com/
</VirtualHost>

<VirtualHost 127.0.0.1:443>
    DocumentRoot /var/www/vhosts/example.com/httpdocs
    ServerName example.com
</VirtualHost>

Это всегда должно перенаправлять на ssl-эквивалент запрашиваемой страницы, сохраняя все остальные ваши правила в неизменном видеЕсли у вас нет доступа к глобальной конфигурации Apache (как на компьютерах с общим хостингом), попросите ваш хост применить вышеуказанное к вашей записи vhost.

...