tomclegg.net
Diary
Examples
256-router
adzap
apache-double-reverse
cacti-adodb-php4
debian-quota
diskonmodule
dollarsperbyte
dynip
ezmlm-linux
fbsdhabits
freebsdclone
macbook-quantal-sound
maildirpop3d-awfulhak
mandy
md
mrtg
net-snmp
nodefaultroute
oracle9i
oracle9i-bsd5
oracle9i-client
oracle9i-nat
php-cgi
php-commandline
php-image
php-kics
php-mini_httpd
pinouts
pizzaperdollar
plesk-symlink-php
pxe
qmail-linux
qmail-qfilter
racoon-sonicwall
redundant-vpn
>rewriterule<
seahorse-workaround
setting-locale-failed
smalldog
snmpv3-cacti
spamassassin
squid-tproxy
supfile
suse73
svc-nmbd
svc-smbd
svc-smtpd
switch-virtualbox-virsh
toyotastereo
vm
vn-file
wmp-invalid
xcode-remote-install
xen-eth0-renamed
xen-monowall
xen3-ubuntu-dapper
zz-update-grub-fail
Hire Tom
Mostly Mozart
Patches
School
Scrapbook
Software
Telephones
colocation comments davidireland edsgranola faq funsites goodlooking goodmovies google-earth-saucy-amd64 houserules liberating resume resume2 scratch shopping snacks todo university warisbogus
|
RewriteRule example Posted February 3, 2004
- 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;
| |