Apache2: обслуживать страницу с другого IP-адреса
Пожалуйста, потерпите меня, пока я пытаюсь объяснить, какую гимнастику я бы хотел выполнить.
У меня есть этот домен: eamorr.somesite.comна 192.168.100.100.
Он обслуживает страницы из моего public_html папка как положено.
Теперь я хочу использовать следующий адрес:
www.somesite.com/eamorr
У меня нет контроля над www.somesite.com (192.168.99.99), однако мой системный администратор позволил мне разместить .htaccess файл в eamorr папка. Мне ни при каких обстоятельствах не разрешается размещать что-либо еще в eamorr Папка по причинам, я не знаю.
Что я хочу, чтобы это произошло:
Пользователь переходит к www.somesite.com/eamorr/some_page.php
Пользователь кормится some_page.php от eamorr.somesite.com/some_page.php (т.е. 192.168.100.100/some_page.php).
Мне бы хотелось, чтобы это было как можно более плавным, то есть, когда пользователь переходит на http://www.somesite.com/eamorr/some_page.php его обслуживают some_page.php и не обращают внимания на тот факт, что some_page приходит с другого сервера (192.168.100.100)
http://www.somesite.com/eamorr должен всегда находиться в адресной строке браузера пользователя, а не http://eamorr.somesite.com/ - мой начальник "просто так хочет"...
Можно ли это сделать с помощью .htaccess?
2 ответа
Похоже, что вы хотите, это то, что называется "обратный прокси", и это работа для Apache mod_proxy, Тем не менее, вы не можете установить это в .htaccess файл - это должно быть сделано в другом контексте. Возможно, кто-то здесь знает лучше, но я не думаю, что то, что вы просите, будет возможно с одним .htaccess файл один.
Используйте Apache mod_proxy указать на другой сервер. Apache документы здесь.
Это сработало хорошо:
ProxyPass /blog http://blog.example.com/
ProxyPassReverse /blog http://blog.example.com/
Но только после того, как прокси-модули были загружены правильно:
LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so
LoadModule proxy_html_module /usr/lib/apache2/modules/mod_proxy_html.so
LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so
Заметки
- Из-за CloudFlare мне также пришлось вести блог с другого имени хоста, а не
*.example.com, - я добавил
Disallow: /к моемуblog.example.com/robots.txt, Как это поисковые системы не начнут индексировать в двух местах. И поисковые системы будут просто игнорироватьblog/robots.txt,