WordPress Htaccess в подпапке не перенаправляет на https - PullRequest
0 голосов
/ 10 марта 2019

У меня есть домен с рабочим файлом htaccess, который перенаправляет весь трафик http на https. Все работает нормально.

Вот этот файл .htaccess:

RewriteEngine on
RewriteCond %{REQUEST_URI} !\.well-known/acme-challenge
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.html [NC,L]

Только что, Я установил WordPress в подпапку с именем "blogg", например так:

www.example.com / Blogg /

Я сразу заметил, что блог не был https. Поэтому я пошел в админку WordPress и изменил URL в общих настройках с «http» на «https». Похоже, что все ссылки в WordPress, а также на страницу администратора, используют https.

К сожалению, это не помогло при переходе к блогу в веб-браузере, это все еще http, хотя https работает, если я ввожу его вручную в браузере.

Вот файл htaccess в каталоге wordpress (example.com/blogg/.htaccess):

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /blogg/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blogg/index.php [L]
</IfModule>
# END WordPress

Я новичок в .htaccess, и мне нужна помощь в поиске правильного кода для всего моего домена, который будет https, включая блог. Помощь приветствуется. Чтобы было понятно, я хочу, чтобы все http-запросы автоматически переходили на https.

Я попытался добавить эту строку во второй файл .htaccess: (но не повезло).

  RewriteCond %{HTTPS} off RewriteRule ^(.*)$
  https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

BR

1 Ответ

0 голосов
/ 10 марта 2019

Вы можете попробовать что-то вроде этого:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /blogg/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blogg/index.php [L]
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*) https://%{SERVER_NAME}/$1 [R,L]    //SERVER_NAME = your actual domain name for WP
</IfModule>
# END WordPress

Вы также можете посмотреть этот код, поскольку он является более простой версией. Он также даст вам представление о WP htaccess, если он находится в корневой папке. :)

RewriteEngine On 
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L,NE]

# 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...