2012-06-14 3 views
3

Я пытаюсь заставить HTTPS на домене. Это должно быть сделано с использованием метода, который работает по имени домена, а не номер порта (из-за структуры/установки хоста)..htaccess forting HTTPS

Моя ближайшая попытка была:

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^mydomain.com$ 
RewriteRule ^.*$ https://www.mydomain.com/$1 [R=301,L] 

Это работает при вводе «mydomain.com» в адресной строке, автоматически перенаправляется на «https://mydomain.com», но когда я типа «www.mydomain .com "это не работает. Я предполагаю, что это проблема синтаксиса, поскольку я очень новичок в htaccess и потратил около 4 часов, пытаясь создать решение из другого кода.

Есть ли шанс на указатель?


Чтобы сделать установку более понятной.

/public_html/ - Все файлы в этой папке относятся к www.mydomain.com
/public_html/subfolder - Эти папки содержат файлы, также относящиеся к mydomain.com
/public_html/subdomain - Эти папки содержат файлы, относящиеся к www.myotherdomain.com

Моим другие домены являются субдоменами mydomain.com для к быть перечисленным в cpanel на хосте.
Например: subdomain.mydomain.com - это то же, что и www.myotherdomain.com.

Надеюсь, это очистит структуру.

ответ

2

Ваше перенаправление происходит всякий раз, когда запрос делается в точном домене mydomain.com (это то, что тестирует RewriteCond). Он не применяется к другим доменам и не обнаруживает HTTPS. Используйте это вместо:

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^(www.)?mydomain.com$ 
RewriteCond %{HTTPS} off 
RewriteRule ^(.*)$ https://www.mydomain.com/$1 [R=301,L] 
+0

Я использую Bluehost как мой хост. Их метод настройки заключается в том, что основной сайт (тот, который я пытаюсь использовать https с) указан в разделе «public_html». Все мои другие сайты находятся в подпапках «public_html» и подвержены влиянию файла .htaccess, в результате чего все домены теперь перенаправляются на «mydomain.com» – Daniel

+0

@ Даниэль, я вижу. Я уточню свой ответ. Являются ли ваши другие сайты субдоменами mydomain или все они разными доменами? – Paulpro

+0

У меня есть доменное имя для каждого, но для того, чтобы быть на cpanel, им должны быть назначены поддомены. Например: ** www.mydomain.com ** и ** subdomains.mydomain.com ** (который также ** www.myotherdomains.com **) – Daniel

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