重写网址没有更改地址

时间:2011-01-10 09:28:06

标签: apache .htaccess

我想显示一个页面而不是另一个页面,而不更改第二个页面网址。 我知道htaccess可以实现这一点。 我从cms htaccess复制了那段代码:

RewriteRule ^event-([0-9]+)\.html$ calendar.php?action=event&eid=$1 [L,QSA]

使用该代码,我们将重定向到calendar.php?........。但我希望它重定向(不更改地址栏中的地址)到另一个站点,例如http://www.google.com/page.....。 可能吗? 谢谢..

1 个答案:

答案 0 :(得分:1)

如果您想在不更改浏览器地址栏中的地址的情况下提供其他网站的内容,这意味着您将成为代理

请检查apache文档以了解代理配置(仅对特定网址执行此操作)。即使mod_rewrite可以使用[P]标签执行代理操作,mod_rewrite也会允许更多“特定网址”过滤。

现在代理的工作,当他得到远程网站的响应并且他需要为HTTP客户端呈现它时,只是改变响应中的HTTP头。因此,只会更改位置标记或此类特定标题中的网址。您必须知道远程网站上的所有HTML内容都不会被更改(内部链接将在www.google.com上,而不在您的www.whythehelldoiproxygooglewithmysite.com上)。

如果你想改变这个返回的内容,请检查mod_proxy_html模块,这将在发送共鸣之前添加一些额外的东西,以进行更多的反向代理更改。