将网站URL从一个服务器重定向到Apache中的不同服务器

在本文中,我们将讨论如何执行网站URL或页面重定向到已经移动到Apache中使用mod的不同服务器的资源

正如我们在之前的两篇文章(承诺与mod_rewrite的执行内部重定向基于浏览器的显示自定义内容 ),在这篇文章中,我们将解释如何执行重定向已经从一台服务器使用移动到另一台服务器Apache中的资源mod_rewrite的模块。 假设您正在重新设计公司的Intranet网站。你已经决定存储在另外一个服务器上的内容和样式(HTML文件 ,JavaScriptCSS)和文档-也许是一个更强大的之一。

建议阅读: 5个窍门,以提高你的Apache Web服务器的性能

但是,您希望此更改对用户透明,以便他们仍然能够通过常用网址访问文档。 在下面的例子中,一个文件中命名assets.pdf已经在/var/www/html等 192.168.0.100中移动(主机名: 网络 )到同一位置192.168.0.101(主机名:web2 )。 为了当他们浏览到用户访问此文件192.168.0.100/assets.pdf ,在192.168.0.100开放Apache的配置文件,并添加以下重写规则(或者你也可以添加下面的规则到你的.htaccess文件 ):
RewriteRule "^(/assets\.pdf$)" "http://192.168.0.101$1"  [R,L]
其中, $1是什么一个占位符,括号内的正则表达式匹配。 现在保存更改,不要忘了重新启动Apache,让我们看看会发生什么,当我们试图通过浏览192.168.0.100/assets.pdf访问assets.pdf:

建议阅读: 25个有用的“.htaccess”诀窍网站

在下面的图我们可以看出,这是为assets.pdf作出192.168.0.100上的要求实际上是由192.168.0.101处理。
# tail -n 1 /var/log/apache2/access.log
检查Apache日志

检查Apache日志

在本文中,我们讨论了如何对已移动到其他服务器的资源执行重定向。包裹起来,我强烈建议你看一看的mod_rewrite的指南和Apache的重定向指南以供将来参考。 一如既往,如果您对本文有任何疑虑,请随时使用下面的评论表。我们期待您的回音!