10.17
This article was completely stolen from: http://tomclegg.net/rewriterule (Thank you Tome. It helped me.) The reason i did it, is that i was spending long time by looking for just this compilation of examples. I’d like to distribute this simple but powerful basic code.
If http://example.com/foo/bar does not exist, redirect to http://other.example.com/foo/bar. (Put this in an .htaccess file in your top-level web directory.)
.htaccess in root of example.com
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ http://other.example.com/$1 [R]
Handle all requests for top-level .html files and files with no extensions (http://example.com/foo, http://example.com/foo.html) with a single PHP program /foo/show.php. Also, ignore trailing characters in set { : ; , . } so URLs like „http://example.com/foo.“ can be copied-n-pasted from plain text sentences by inattentive users.
.htaccess in root of example.com
RewriteRule ^/?([^/]*\.html?|[^\./]*)[:;,\.]*$ /foo/show.php [L,NS]
Examples:
http://tomclegg.net/rewriterule
http://tomclegg.net/rewriterule.html;
Redirect GET requests for http://example.com/foo/bar to http://example.com/bar (and /foo/bar.html to /bar.html). Handle POST requests with PHP program rather than attempting to redirect a POST (which is unlikely to work well).
.htaccess in foo folder in example.com’s document root
RewriteEngine On RewriteCond %{REQUEST_METHOD} GET RewriteRule ^/?([^/]*\.html?|[^\./]*)[:;,\.]*$ /$1 [R,L,NS] RewriteCond %{REQUEST_METHOD} POST RewriteRule ^/?([^/]*\.html?|[^\./]*)[:;,\.]*$ /foo/show.php [L,NS]
Examples:
http://tomclegg.net/w/rewriterule
http://tomclegg.net/w/rewriterule.html;