当我尝试解释一些我想要演奏的htaccess体操时,请耐心等待。
我有这个域名: eamorr.somesite.com ,在192.168.100.100。
它按预期从我的public_html文件夹中提供页面。
现在,我想使用以下地址:
www.somesite.com/eamorr
我没有控制www.somesite.com (192.168.99.99),但是我的系统pipe理员已经允许我把.htaccess文件放在eamorr文件夹中。 在任何情况下,我都不允许将其他东西放在eamorr文件夹中,原因我不知道。
我想要发生的是这样的:
用户导航到www.somesite.com/eamorr/some_page.php
用户从eamorr.somesite.com/some_page.php (即192.168.100.100/some_page.php)提供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 。 就像这个search引擎不会在两个地方开始索引。 search引擎会忽略blog/robots.txt 。