Я читал много веток по этому поводу и пробовал много итераций, чтобы заставить перенаправление работать для моего сайта, но все еще не могу заставить его работать. Это было создано лет go с чьей-то помощью, и теперь я не могу вспомнить некоторые особенности.
В настоящее время работает:
http:// mydomain.com (dns)
http:// www.mydomain.com (dns)
https:// api.mydomain.com (dns) // points to directory /api
В root mydomain .com - это файл .htaccess с включенной перезаписью:
RewriteCond %{HTTP_HOST} ^api\. [NC]
RewriteRule !^api/ api%{REUEST_URI} [L,NC] // this works
Каталог / api и поддомен api.mydomain.com имеют собственный CERT для трафика HTTPS c. В каталоге / api есть еще один файл .htaccess. Теперь, не имея большого опыта в этом, я не могу вспомнить, почему у меня есть этот второй файл .htaccess - или он все еще нужен.
RewriteConf %{HTTP_HOST} !^api\. [NC,OR]
RewriteCond %{HTTPS} off
RewriteRule ^ - [F]
Все вышеперечисленное работает.
Во-первых, может ли кто-нибудь помочь объяснить два файла .htaccess - оба они необходимы? Что конкретно второй делает с %{HTTPS} off
- когда этому субдомену специально нужен HTTPS.
Во-вторых, я пытаюсь добавить новый субдомен, который будет указывать на новый подкаталог HTTPS. Я хочу, чтобы трафик HTTP и HTTPS c для этого нового поддомена перенаправлялся в одно и то же расположение HTTPS:
http://portal.mydomain.com -> rewrite OR redirect to https://portal.mydomain.com
https://portal.mydomain.com -> rewrite to `/api/vendor`
Для этого нужно ли мне перезаписывать оба файла .htaccess? - Я перепробовал много комбо, но ничего не работает. Когда я go на http://portal.mydomain.com я получаю сообщение об ошибке, страница SORRY - IP Changed/Site Moved/Confi Error
закашлялась из папки / cgi-sys.
И когда я go до https://portal.mydomain.com Получаю Forbidden - 403 error