是否可以在不更改地址栏中显示的内容的情况下从一个网址到另一个网址执行mod_rewrite?
示例:
来源网址为http://domain1.com/news 目标网址为http://domain2.com/news
我想从http://domain2.com/news/呈现网页,但地址栏中会显示http://domain1.com/news。
这可能吗?
我有这个指令,但地址栏中的URL发生了变化(我不想发生这种情况):
RewriteRule ^(。*)$ http://domain2.com/news/ [L,NC]
答案 0 :(得分:1)
据我所知,只有将一个域重写为另一个域的mod_rewrite规则才能完成。 http://前缀会导致外部重定向,这就是您在浏览器中看到它的原因。 domain1上的服务器将重定向发送回浏览器,浏览器必须从domain2重新请求。为避免这种情况,domain1上的服务器必须能够从domain2检索数据。如果您控制两台服务器,我听说您可以使用mod_proxy来完成此任务,但我不知道详细信息。
对于不从一个域转到另一个域的规则,mod_rewrite的正常行为 not 会导致浏览器更改URL,除非您使用[R]标志。