2016-08-07 3 views
2

У меня есть сайт, https://www.example.com и субдомен, https://sub.example.com.https на субдомен перенаправляется в основной домен; субдомен работает без https

Моя проблема в том, что всякий раз, когда я пытаюсь посетить https://sub.example.com, я перенаправлен на https://www.example.com. Но, когда я посещаю http://sub.example.com, я не перенаправлен.

У меня есть SSL-сертификат подстановки, который должен позволить мне посетить мой поддомен с https://. Оба сайта запускают WordPress и размещаются вместе с Bluehost. Я пробовал много решений, а также обращался к службе поддержки Bluehost дважды безрезультатно. Я хотел бы иметь возможность посетить мой основной домен и субдомен с активным SSL.

я редактировал файл .htaccess в соответствии со следующими решениями найденных здесь: htaccess redirect domain to https, subdomain to http and www to non-www

# for main domain 
RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$ [NC] 
RewriteCond %{HTTPS} off [OR] 
RewriteCond %{HTTP_HOST} ^www\. [NC] 
RewriteRule^https://example.com%{REQUEST_URI} [R=301,L,NE] 

# for sub domain 
RewriteCond %{HTTP_HOST} ^(www\.)?sub\.example\.com$ [NC] 
RewriteCond %{HTTPS} on [OR] 
RewriteCond %{HTTP_HOST} ^www\. [NC] 
RewriteRule^http://sub.example.com%{REQUEST_URI} [R=301,L,NE] 

https://my.bluehost.com/hosting/help/766

# Custom subdomain .htaccess SSL + WordPress 
RewriteEngine On 
RewriteCond %{HTTP_HOST} ^subdomain.maindomain.com$ 
RewriteCond %{REQUEST_URI} !^/subfolder/ 
RewriteRule ^(.*)$ /subfolder/$1 
RewriteCond %{HTTP_HOST} ^subdomain.maindomain.com$ 
RewriteRule ^(/)?$ subfolder/index.php [L] 
# End custom subdomain .htaccess 

# Custom maindomain .htaccess WordPress 
RewriteEngine On 
RewriteBase/
RewriteCond %{HTTP_HOST} ^(www.)?maindomain.com$ 
RewriteRule ^index\.php$ - [L] 
RewriteCond %{HTTP_HOST} ^(www.)?maindomain.com$ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
# End custom maindomain .htaccess 

http://www.wpbeginner.com/wp-tutorials/how-to-add-ssl-and-https-in-wordpress/

Я также пробовал свежие WordPress устанавливают оба основных домена и субдомена без везения. Я не уверен, что еще попробовать. Любая помощь и предложения будут высоко оценены.

+0

Вам необходимо опубликовать весь файл '.htaccess', включая директивы WordPress - порядок. Почему вы, по-видимому, выбрали образец кода из справочного документа Bluehost? Ничто в том, что вы опубликовали, перенаправляется на 'https: //www.example.com' ?! Это указывает на ошибку конфигурации при установке WordPress. – MrWhite

ответ

1

Несколько вещей, чтобы попробовать:

  1. Во-первых, когда вы делаете изменения, используйте инструмент как Webconfs HTTP Header Checker. Таким образом, если ваш веб-браузер перенаправляет кеширование и вы вносите изменения, которые исправляют переадресацию, Header Checker не будет обманут. С другой стороны, ваш веб-браузер будет перенаправлять даже после того, как все будет исправлено, пока вы не очистите кеш. Кроме того, вы можете попробовать окно Chrome Incognito.

  2. Вместо использования только одного файла .htaccess используйте его для каждого сайта. Предполагая, что example.com является вашим основным доменом, вы можете установить правила для «корневого» сайта WP в корневой папке, и вы установите правила для сайта WP поддомена WP в папке, где находится эта отдельная установка WP -/subdomain .com/.htaccess.

  3. Убедитесь, что ваш URL-адрес и домашний URL-адрес «корневого» WP установлены на версию https. Вы можете сделать это в нескольких местах: в wp-admin «корневого» сайта WP перейдите в «Настройки»> «Общие». «Адрес (адрес) WordPress» и «Адрес сайта (URL)» оба требуют https. Если они настроены на http, он выйдет из системы, когда вы нажмете «Сохранить». Кроме того, вы можете сделать это в phpMyAdmin - в таблице wp_options, найдите опции «siteurl» и «home» и убедитесь, что они https, а не http.

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

  5. Как только все это будет сделано, если «корневой» сайт по-прежнему перенаправляется на незащищенную версию, вы можете установить плагин, такой как WordPress Force HTTPS.

+0

Примечание для других: я не подтвердил ответ, поскольку я не сталкиваюсь с этой проблемой и вместо этого предложил щедрость в ответ на комментарий нового пользователя (в ответе). Тем не менее, это ответ высокого качества, и другие могут предложить лучшие ответы, если они найдут лучшие варианты. – sage

Смежные вопросы