As promised in our previous two articles ([Perform Internal Redirection with mod_rewrite][1]and[Show Custom Content Based on Browser][2]), in this post we will explain how to perform a redirection to a resource that has been moved from one server to a different server in Apache usingmod_rewritemodule.
Suppose you are redesigning your company’s Intranet site. You have decided to store the content and styling (HTML files,JavaScript, andCSS) on one server and the documentation on another – perhaps a more robust one.
**Suggested Read:**[5 Tips to Boost the Performance of Your Apache Web Server][3]
However, you want this change to be transparent to your users so that they are still able to access the docs at the usual URL.
In the following example, a file named`assets.pdf`has been moved from/var/www/htmlin192.168.0.100(hostname:web) to the same location in192.168.0.101(hostname:web2).
In order for users to access this file when they browse to`192.168.0.100/assets.pdf`, open Apache’s configuration file on192.168.0.100and add the following rewrite rule (or you can also add the following rule to your[.htaccess file][4]):
where`$1`is a placeholder for anything that matches the regular expression inside parentheses.
Now save changes, don’t forget to restart Apache, and let’s see what happens when we attempt to accessassets.pdfby browsing to192.168.0.100/assets.pdf:
**Suggested Read:**[25 Useful ‘.htaccess’ Tricks for Websites][5]
In the above below we can see that the request that was made forassets.pdfon192.168.0.100was actually handled by192.168.0.101.
In this article we have discussed how to perform a redirection to a resource that has been moved to a different server. To wrap up, I’d strongly suggest you take a look at the[mod_rewrite][7]guide and[Apache redirect guide][8]for future reference.
As always, feel free to use the comment form below if you have any concerns about this article. We look forward to hearing from you!
作者简介:Gabriel Cánepa is a GNU/Linux sysadmin and web developer from Villa Mercedes, San Luis, Argentina. He works for a worldwide leading consumer product company and takes great pleasure in using FOSS tools to increase productivity in all areas of his daily work.