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
,