# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Приведенный выше код .htaccess не перенаправляет на HTTPS. Зачем?
(IfModule закомментирован специально, чтобы показать, что я не пропустил модуль перезаписи)
Обновить
Когда пытаешься с http://htaccess.madewithlove.be я получил
RewriteCond %{HTTPS} =on This condition was not met
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [L,R=301] This rule was not met because one of the conditions was not met
RewriteCond %{REQUEST_FILENAME} !-f This variable is not supported: %{REQUEST_FILENAME}
RewriteCond %{REQUEST_FILENAME} !-d This variable is not supported: %{REQUEST_FILENAME}
Мой htaccess fu в лучшем случае слабый, поэтому я не могу понять, как
RewriteEngine On
становится
RewriteCond %{HTTPS} =o
который комментируется
This condition was not met
или это
RewriteCond %{REQUEST_FILENAME} !-d
получает комментарий
This variable is not supported: %{REQUEST_FILENAME}
Может я устал. Может я просто дурак.
TIA
Может я устал. Может я просто дурак.
Явно устал.
Я не помню вашу точную конфигурацию до редактирования, но на основе результатов проведенного вами теста:
RewriteCond %{HTTPS} =on This condition was not met
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [L,R=301] This rule was not met because one of the conditions was not met
RewriteCond %{REQUEST_FILENAME} !-f This variable is not supported: %{REQUEST_FILENAME}
RewriteCond %{REQUEST_FILENAME} !-d
похоже, у вас есть следующие правила и условия:
RewriteCond %{HTTPS} =on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [L,R=301]
Если вы посмотрите на него после отдыха, становится ясно, что это не то, что вам нужно.
RewriteCond %{HTTPS} =on
Средство выполняет правило, если запрос httpS. Итак, вы хотите:
RewriteCond %{HTTPS} =off
С большой помощью Тестер htaccess, другой ответ на stackexchange, @ETL и @Michael Hampton я получил:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
Любой из вас двоих может скопировать мой ответ, и я помечу его как один (первым пришел - первым подал) и удалю. Почитай тех, кто должен.
И чтобы уточнить - я был скорее глуп, чем устал. Подчеркнул, так как мой сайт не работал.
Что приводит меня к предостережение это может быть полезно знать. Есть какое-то странное кеширование на стороне клиента? это сделало тестирование стохастическим, мягко говоря. В настоящее время перенаправление работает в Safari @ OSX и Chromium @ Win, но не в IE11 @ Win. Для меня. Думаю, это исправится само к завтрашнему дню или когда я потрудюсь запустить другую машину.
Обновление: я играл больше. В офисе моего клиента http-> https на корневом уровне работал, но не для каждой статьи в IE, вместо этого он зависал. Но в Opera это было так. На следующий день IE тоже заработал. Дома мой IE сделал то же сальто, но на день быстрее. Оба зависли в каком-то состоянии ожидания.
Я пишу так много тарабарщины о неудачных загрузках, чтобы намекнуть следующему читателю, что цикл быстрого редактирования-сохранения-перезагрузки может не сработать, и держать под рукой> 1 браузер.