2016-07-17 6 views
2

Я бил головой о стену, пытаясь понять, как это сделать.Переписать субдомен как отдельный субдомен + подкаталог

У меня есть только Office Cloud Version (SaaS). Домен для доступа к нему выглядит следующим образом: mydomain.onlyfoffice.com.

У этого есть функция, чтобы применить пользовательский домен, поэтому я изменил его на: desk.mydomain.com, установив параметр в панели управления onlyoffice, и мне пришлось сменить запись A на CNAME intranet.onlyoffice.com. Теперь я могу получить к нему доступ, перейдя в desk.mydomain.com.

Теперь вот моя проблема. Как я могу сделать URL-адрес следующим образом: office.mydomain.com/desk/? Мне также нужно это для продолжения с URL-адресами, например office.mydomain.com/desk/app/etc/etc...

Возможно ли это?

Причина этой установки заключается в том, что я пытаюсь организовать все мои приложения, которые я использую для своей работы в одном поддомене: office.mydomain.com. Я и другие, не Saas-приложения, установленные в других подкаталогах, как: office.mydomain.com/code/ и office.mydomain.com/analytics/ и т.д.

Поскольку я не могу установить собственный домен для onlyoffice субдомена + каталог, я думал установить его в другой под-домен, затем используйте mod_rewrite или прокси-проход или что-то, чтобы переписать URL-адрес.

ответ

2

Вы не можете сделать это с помощью mod_rewrite.

Я считаю, что вы ищете директиву ProxyPass. Прежде всего, необходимо включить mod_proxy и proxy_http, что-то вроде этого:

LoadModule proxy_module modules/mod_proxy.so 
LoadModule proxy_http_module modules/mod_proxy_http.so 

Вы также должны добавить что-то для доступа:

<Proxy *.> 
    # If using Apache 2.4, replace the next 2 lines with 'Require all granted', without quotes 
    Order Deny,Allow 
    Deny from all 
</Proxy> 

Затем вам нужно добавить к вашей apache2.conf (или httpd.conf) файла (вы не можете сделать это из .htaccess):

ProxyPass  /desk/  http://www.desk.mydomain.com/ 
ProxyPassReverse /desk/ http://www.desk.mydomain.com/ 

Первая строка позволяет прокси-сервер (который почти как переписывание), а ProxyPassReverse по существу таков, что заголовки, отправленные в браузер, не используют http://www.desk.mydomain.com.

Не забудьте перезапустить apache после включения модулей и внесения изменений в конфигурацию.

0

Вы можете сделать это с помощью модуля rewrite + proxy. Убедитесь, что вы активировали модуль перезаписи, прокси и proxy_http. Затем в файле .htaccess office.mydomain.com используйте

RewriteRule ^desk/(.*) http://desk.mydomain.com/$1 [P,L] 

Это должно сделать трюк.

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