Look somewhere else for that image
If the image isn't in the /images/ directory, look in /images1/, /images2/, and /images3/ for it as well.
RewriteEngine On
# RewriteLog /tmp/rewrite.log
# RewriteLogLevel 6
RewriteRule ^/images/(.*) $1
RewriteCond /usr/local/apache/htdocs/images/%{REQUEST_FILENAME} -f
RewriteRule ^ /usr/local/apache/htdocs/images/%{REQUEST_FILENAME} [L]
RewriteCond /usr/local/apache/htdocs/images1/%{REQUEST_FILENAME} -f
RewriteRule ^ /usr/local/apache/htdocs/images1/%{REQUEST_FILENAME} [L]
RewriteCond /usr/local/apache/htdocs/images2/%{REQUEST_FILENAME} -f
RewriteRule ^ /usr/local/apache/htdocs/images2/%{REQUEST_FILENAME} [L]
RewriteCond /usr/local/apache/htdocs/images3/%{REQUEST_FILENAME} -f
RewriteRule ^ /usr/local/apache/htdocs/images3/%{REQUEST_FILENAME} [L]
Redirect Everything
I want all requests to my site to get sent to a certain page. Perhaps for a "system is down for maintenance" condition, or perhaps there's really only one page here. So, for example, let's send everything to page.html
RewriteEngine On RewriteRule !^/page\.html$ /page.html [PT]
Or, if you want all pages mapped to a handler that knows what to do with that page:
RewriteEngine On RewriteCond $1 !=/handler.php RewriteRule ^(.*) /handler.php?uri=$1 [PT]
Connecting to Tomcat
Problem:
We are using the 2.2 branch of Apache HTTP Server as frontend while all requests with a jsp extension should be served by our tomcat backend server on Port 8009.Recipe:
RewriteEngine On RewriteRule ^/(.+\.jsp)$ ajp://localhost:8009/$1 [P] ProxyPassReverse / ajp://localhost:8009/
Discussion:
Mod_rewrite passes all requests which are ending with .jsp to mod_proxy (Flags/P). We use the Apache JServ Protocol (ajp), this means the modulesLoad balancing
Problem:
We have one frontend server which serves static content while the processing of dynamical content is up to two backend servers.Recipe:
Using mod_rewrite, mod_proxy and mod_proxy_balancer.RewriteEngine On
RewriteRule ^/(.+\.php)$ balancer://myphpcluster/$1 [P]
<Proxy balancer://myphpcluster>
BalancerMember http://10.0.0.1 smax=10 loadfactor=20
BalancerMember http://10.0.0.2
ProxySet maxattempts=2
</Proxy>
ProxyPassReverse / http://10.0.0.1/
ProxyPassReverse / http://10.0.0.2/
Discussion:
A brief description may be provided in the future.
For a list of available ProxyPass parameters see the
mod_proxy documentation.
Note: The directive ProxySet is undocumented. You can use this directive in order to set additional parameters for a balancer or a worker, because the following does not work as expected:
# maxattempts=2 and other paramters are not recognized this way RewriteRule ^/(.+\.php)$ balancer://myphpcluster/$1 [P] maxattempts=2