Apache httpd's mod_alias is part of your standard web server build ... it's the part that allows you to put
alias directives into your configuration file httpd.conf to that different parts of your web tree can reside on different parts of your computer's file system. As an example, the manual that's supplied with Apache httpd will be usually be found in /usr/local/apache2/manual rather than somewhere like /home/website/htdocs/manual, and an alias command will be used to cause any requests to be served appropriately.
Mod_alias has other uses too. The
Redirect directive lets you give the server that requests for a particular URL are to be passed back to the browser with a note that the file in now to be found in a new location. This uses a location header, and you can set up the redirect to be temporary or permanent.
If you have retired a whole directory of URLs and want to have any remaining request that are made for resources in it to be passed on, you can use a
redirectMatch ... for example:
RedirectMatch 301 ^/modules(/.*) http://www.wellho.net/resources$1
This example is from the .htaccess file within the /modules directory on our server, and it refers all requests to the /resources directory (where they should have pointed in the first place!). So if you type
http://www.wellho.net/modules/H999.html into your URL bar, you'll see that you get the page
http://www.wellho.net/resources/H999.html instead, the URL bar is changed (usually - it's browser specific), and the same rule applies to any other URLs in that directory.
The
complete .htaccess file, engineered to deal with mod_rewrite issues and more fully commented, is available for your use. And we would love to teach you more httpd deployment techniques on our
Linux Web Server course.
(written 2009-01-03)
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
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)
[631] Apache httpd to Tomcat - jk v proxy - (2006-03-03)
[649] Denial of Service ''attack'' - (2006-03-17)
[662] An unhelpful error message from Apache httpd - (2006-03-30)
[755] Using different URLs to navigate around a single script - (2006-06-11)
[853] To list a directory under httpd on a web server, or not? - (2006-09-02)
[934] Clustering, load balancing, mod_rewrite and mod_proxy - (2006-11-21)
[1009] Passing GET parameters through Apache mod_rewrite - (2006-12-27)
[1080] httpd.conf or .htaccess? - (2007-02-14)
[1121] Sharing the load with Apache httpd and perhaps Tomcat - (2007-03-29)
[1207] Simple but effective use of mod_rewrite (Apache httpd) - (2007-05-27)
[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)
[1381] Using a MySQL database to control mod_rewrite via PHP - (2007-10-06)
[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)
[1636] What to do if the Home Page is missing - (2008-05-08)
[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)
[1778] Pointing all the web pages in a directory at a database - (2008-08-30)
[1939] mod_proxy_ajp and mod_proxy_balancer examples - (2008-12-13)
[1954] mod_rewrite for newcomers - (2008-12-20)
[1955] How to avoid duplicating web page maintainance - (2008-12-20)
[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)
[2900] Redirecting a page - silent, temporary or permanent? - (2010-08-03)
[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)
[3862] Forwarding a whole domain, except for a few directories - Apache http server - (2012-09-17)
[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
From spam to mod_alias - finding resourcesGoing round the blockWhere is this IP address, IPv4 and IPv6Well House Manor Hotel - on plan for 2009 business guestsMoving a directory on your web siteRequired RequestPettifog and forum boards away from public viewTelling Google which country your business trades inPlagarism - who is copying my pages?Search Engines. Getting the right pages seen.