Пожалуйста, потерпите меня, пока я пытаюсь объяснить какую-то гимнастику htaccess, которую я хочу выполнить.
У меня есть этот домен: 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
?
Похоже, вам нужен так называемый «обратный прокси», и это задача 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
*.example.com
.Disallow: /
к моему blog.example.com/robots.txt
. Таким образом, поисковые системы не начнут индексировать в двух местах. А поисковые системы просто проигнорируют blog/robots.txt
.