Seo – .Htaccess Не Перенаправляет Мои Страницы С Http На Https

  • Автор темы Solysoly
  • Обновлено
  • 22, Oct 2024
  • #1

Кажется, что .htaccess не перенаправляет мои страницы с http на https.

Мой домен перенаправляется на https, но не на мои страницы… Может ли это быть неправильная конфигурация моего веб-хоста?

  • Вот что я сделал до сих пор:
  • Выберите сертификат SSL и установите его на свой сайт с хоста.
  • Заставьте wp-config перейти с HTTP на HTTPs с помощью: define('FORCE_SSL_ADMIN', true);
  • Преобразуйте все мои URL-адреса в HTTP с помощью базы данных замены и поиска.

Добавьте этот домен в консоль поиска Google…

 <IfModule mod_rewrite.c>
RewriteEngine On
# Redirect to HTTPS 
RewriteCond %{HTTP_HOST} ^http://example\.com [NC]
RewriteCond %{SERVER_PORT} ^80$ [OR]
RewriteCond %{HTTPS} =off [OR]
RewriteRule ^(.*)$ https://example.com/$1 [L,R=301]
# Redirect from www HTTPS to HTTPS
RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
RewriteRule ^(.*)$ https://example.com/$1 [L,R=301]

RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
 

Поместите этот код в мой .htaccess:

Думаю, это все… У вас есть идеи, что может вызвать эту проблему?

Solysoly


Рег
15 Jan, 2011

Тем
70

Постов
221

Баллов
621
  • 26, Oct 2024
  • #2
 
 
 
 HTTPS 

SERVER_PORT variable contains just the имя хоста, а не схема + имя хоста, так что это никогда не будет совпадать. Если это никогда не совпадает, то оно никогда не будет перенаправлено # Redirect to HTTPS RewriteCond %{HTTPS} =off RewriteRule ^(.*)$ https://example.com/$1 [L,R=301] to HTTPS. (However, you have used this correctly in your второй блок правил, который воля перенаправить # Redirect to HTTPS RewriteCond %{HTTP_HOST} ^http://example\.com [NC] RewriteCond %{SERVER_PORT} ^80$ [OR] RewriteCond %{HTTPS} =off [OR] RewriteRule ^(.*)$ https://example.com/$1 [L,R=301] to HTTPS.)

Я так понимаю, у вас только один домен? В этом случае эту директиву следует просто удалить (а не исправить).

<condition> OR true

Однако у вас также ошибочное мнение RewriteCond flag on the last OR директива. Если предыдущие условия совпадают, это приведет к циклу перенаправления, поскольку по сути это RewriteCond %{HTTPS} =off [OR] , which is всегда истинный.

Краткое содержание

http://www.example.com/...

Итак, вкратце, вам следует заменить первый блок правил (выше) на следующий:

http://example.com/...

Нет смысла проверять оба HTTP_HOST и RewriteCond %{HTTP_HOST} ^http://example\.com [NC] . Either should be sufficient; not both.

 

AgeageageageBery


Рег
14 Jun, 2014

Тем
64

Постов
208

Баллов
528
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно