Переадресация subdomain1.example.com на subomain2.example2.com с использованием .htaccess

353
Sirach Matthews

Моя цель

Мой основной веб-сайт размещается на стороннем сервере (точнее Netfirms). Я хочу, чтобы большая часть моего контента размещалась там. Тем не менее, я запускаю портал сотрудников на локальном сервере. Портал использует скрипты Python, которые не поддерживаются Netfirms. Локальный сервер доступен с помощью URL-адреса DDNS ( localserver.dyndns.comнапример). Я настроил поддомен с моим хостом веб-сервера ( portal.example.comнапример).

Когда сотрудники просматривают сайт portal.example.com, я хочу, чтобы контент обслуживался localserver.dyndns.com. В то время как Netfirms позволили мне создать перенаправление, их система просто генерирует index.hmlс целевым url ( localserver.dyndns.com) в наборе фреймов. Это, конечно, разрушает отзывчивость сайта.

Что я пробовал

Самым простым решением, не зависящим от фреймов, было создание .htaccessфайла, содержащего следующее:

Redirect /index.html http://localserver.dyndns.com 

В то время как это перенаправляет трафик на localserver.dyndns.com, URL-адрес меняется, поэтому сотрудники видят, что их portal.example.comбольше нет. Я пробовал несколько разных условий / правил переписать безуспешно.

RewriteEngine On RewriteCond % ^portal.example.com$ RewriteRule ^(.*)$ http://localserver.dyndns.com/$1 [L,R=301] 

или же

RewriteEngine On RewriteRule ^portal.example.com$ http://localserver.dydns.com/$1 

Я даже пытался с (из) кавычки и / или ведущий \для «специальных» символов ( \:, \/, \., к примеру), в, казалось бы, бесконечные вариации. Я либо получить 500 - Internal Server Error, Access Restricted,401 - Not Found

Ничто не похоже на работу. Что я пропускаю / делаю неправильно?

1

1 ответ на вопрос

1
rAlen

Вам не нужно перенаправлять, если вы используете контент только из- localserver.dyndns.comпод portal.example.comи хотите использовать в portal.example.comкачестве URL.

Создайте запись DNS для portal.example.com в качестве CNAME со значением localserver.dyndns.com.

Он будет указывать portal.domain.comна текущий IP-адрес localserver.dyndns.comи не будет перезаписывать URL-адрес.

Когда я это делаю, я получаю ошибку «Сервер не найден». Я проверил, что могу получить доступ к `localserver.dyndns.com` напрямую, просто отлично. Когда я пытаюсь выполнить попытку с портала «portal.example.com», появляется сообщение «Сервер не найден - Firefox не может найти сервер на portal.example.com». Sirach Matthews 7 лет назад 0
Правильно ли вы добавили запись CNAME portal.example.com, возможно, вы также кэшируете DNS? Посетите http://www.mxtoolbox.com/CNAMELookup.aspx и проверьте portal.example.com, и посмотрите, что возвращается. rAlen 7 лет назад 1
Спасибо за это. Я проверил и подтвердил, что TTL еще 60 минут, поэтому пациенты требуются, тогда мы посмотрим. Sirach Matthews 7 лет назад 0

Похожие вопросы