I was set a puzzle via email last week - how to redirect an entire domain to a new server / domain, apart from three specific directories / folders which are to remain on the old server.
Clearly, this is a task for
mod_rewrite, and the natural and instrincive reaction is to write a regular expression match to somehow select all domains except those which need to remain on the current server, and to redirect them. Alas, that will proove to be easier said than done. There turns out to be a much easier way to do it ...
1. Rewrite each of the directories that's to be left on the current server, making it a last rule with the
[L] option:
RewriteRule ^lv/(.*) lv/$1 [L]
RewriteRule ^lt/(.*) lt/$1 [L]
RewriteRule ^ee/(.*) ee/$1 [L]
2. Then rewrite all remaining URLs to the new server:
RewriteRule (.*) http://newservername.com/$1
You may choose to add
[R=301] on the end of this if you wish to indicate to your visitor that your change is a permanent one.
(written 2012-09-17, updated 2012-09-22)
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
A607 - Web Application Deployment - Apache httpd mod_rewrite [631] Apache httpd to Tomcat - jk v proxy - (2006-03-03)
[755] Using different URLs to navigate around a single script - (2006-06-11)
[934] Clustering, load balancing, mod_rewrite and mod_proxy - (2006-11-21)
[1006] Apache httpd and Apache Tomcat together tips - (2006-12-24)
[1009] Passing GET parameters through Apache mod_rewrite - (2006-12-27)
[1207] Simple but effective use of mod_rewrite (Apache httpd) - (2007-05-27)
[1376] Choosing between mod_proxy and mod_rewrite - (2007-10-02)
[1381] Using a MySQL database to control mod_rewrite via PHP - (2007-10-06)
[1636] What to do if the Home Page is missing - (2008-05-08)
[1731] Apache httpd, MySQL, PHP - installation procedure - (2008-08-01)
[1771] More HowTo diagrams - MySQL, Tomcat and Java - (2008-08-24)
[1778] Pointing all the web pages in a directory at a database - (2008-08-30)
[1954] mod_rewrite for newcomers - (2008-12-20)
[2094] If you have a spelling mistake in your URL / page name - (2009-03-21)
[2555] Bookkeeping - (2009-12-29)
[2728] Redirecting a home page using mod_rewrite - (2010-04-17)
[2768] Carrying a long URL around - looking for memorable shorts - (2010-05-17)
[2773] Dynamically watching your web site via a PHP wrapper - (2010-05-21)
[2900] Redirecting a page - silent, temporary or permanent? - (2010-08-03)
[2981] How to set up short and meaningfull alternative URLs - (2010-10-02)
[3197] Finding and diverting image requests from rogue domains - (2011-03-08)
[3339] Simplest ever proxy configuration? - (2011-06-28)
[3568] Telling which ServerAlias your visitor used - useful during merging domains - (2012-01-04)
[3753] Adding a passcode to a directory - (2012-06-05)
A603 - Web Application Deployment - Further httpd Configuration [345] Spotting a denial of service attack - (2005-06-12)
[466] Separating 'per instance' data from binaries and web sites - (2005-10-16)
[526] Apache httpd - serving web documents from different directories - (2005-12-12)
[550] 2006 - Making business a pleasure - (2006-01-01)
[649] Denial of Service ''attack'' - (2006-03-17)
[662] An unhelpful error message from Apache httpd - (2006-03-30)
[853] To list a directory under httpd on a web server, or not? - (2006-09-02)
[1080] httpd.conf or .htaccess? - (2007-02-14)
[1121] Sharing the load with Apache httpd and perhaps Tomcat - (2007-03-29)
[1351] Compressing web pages sent out from server. Is it worth it? - (2007-09-14)
[1355] .php or .html extension? Morally Static Pages - (2007-09-17)
[1377] Load Balancing with Apache mod_jk (httpd/Tomcat) - (2007-10-02)
[1551] Which modules are loaded in my Apache httpd - (2008-02-23)
[1554] Online hotel reservations - Melksham, Wiltshire (near Bath) - (2008-02-24)
[1564] Default file (MiMe types) for Apache httpd and Apache Tomcat - (2008-03-04)
[1566] Strange behaviour of web directory requests without a trailing slash - (2008-03-06)
[1619] User and Group settings for Apache httpd web server - (2008-04-22)
[1707] Configuring Apache httpd - (2008-07-12)
[1762] WEB-INF (Tomcat) and .htaccess (httpd) - (2008-08-20)
[1767] mod_proxy and mod_proxy_ajp - httpd - (2008-08-22)
[1939] mod_proxy_ajp and mod_proxy_balancer examples - (2008-12-13)
[1955] How to avoid duplicating web page maintainance - (2008-12-20)
[1974] Moving a directory on your web site - (2009-01-03)
[2060] Database connection Pooling, SSL, and command line deployment - httpd and Tomcat - (2009-03-01)
[2272] Monitoring and loading tools for testing Apache Tomcat - (2009-07-07)
[2478] How did I do THAT? - (2009-10-26)
[3133] An image from a website that occasionally comes out as hyroglyphics - (2011-01-14)
[3449] Apache Internal Dummy Connection - what is it and what should I do with it? - (2011-09-19)
[3635] Parse error: parse error, unexpected T_STRING on brand new web site - why? - (2012-03-03)
[3955] Building up from a small PHP setup to an enterprise one - (2012-12-16)
[4001] Helping search engines with appropriate 400 error codes - (2013-02-11)
[4307] Identifying and clearing denial of service attacks on your Apache server - (2014-09-27)
Some other Articles
Celebrate! Buses from Meksham to BathWhat makes Well House Manor different?Guest Guide for Well House Manor and MelkshamFive new fans at Well House ManorForwarding a whole domain, except for a few directories - Apache http serverMelksham Food Festival - the food fayre - picturesMelksham to Steam in Swindon, by train - great day outYouve Been Selected for the 2012 Edition of the Global RegistryThe apple crop of 2012Why has the mouth not said much for the last week or two?