Her er en række rewrites til mod_rewrite som er rare at ha’ i baghånden.
Dette er ikke en tutorial, så de dybtegående forklaringer vil der være langt imellem. Eksemplerne i dette blogindlæg er rewrite regler som jeg ofte har brugt selv, og tænkte de kunne være til hjælp for andre.
Hvis du er ny i mod_rewrite regi vil jeg anbefale at tage et hurtigt kig på min gamle tutorial: Mod_reqrite.
Send side1.html til side2.html
1 2 3 4 |
# simpel redirect
# redirecter side1.html til side2.html
RewriteEngine on
RewriteRule ^side1.html$ side2.html |
Pæne URLS
1 2 3 4 |
# simple pæne urls - et niveau
# Redirecter fx /side1 til index.php?side=side1
RewriteEngine On
RewriteRule ^([^/.]+)/?$ index.php?side=$1 [L] |
Pæne URLS
1 2 3 4 |
# simple pæne urls - to niveauer</p>
# Redirecter fx /side1/underside1 til index.php?side=side1&underside=underside1
RewriteEngine On
RewriteRule ^([^/.]+)/([^/.]+)/?$ index.php?side=$1&underside=$2 [L] |
Flyt domæne – rewrite til andet domæne
1 2 3 4 5 |
# domain redirect
# Redirecter alt fra domæne1.dk til domæne2.dk inkl querystrings </p>
RewriteEngine On
RewriteCond %{http_host} ^domæne1.dk$ [NC]
RewriteRule ^(.*) http://domæne2.dk/$1 [R=301,QSA,L] |
Skift fra .ASP til .PHP – med samme filnavne
1 2 3 4 |
# skift fra asp til .php filnavne
# redirecter alle kald til .asp filer til samme fil med .php
RewriteEngine On
RewriteRule ^(.+.)asp$ /$1php [R=301,L] |
Stop folk der hotlinker dine billeder
Nb. Dette kan let omgåes ved at sende en blank Referer, men det kan stoppe en del tyveri.
1 2 3 4 5 6 |
# anti-hotlink
# blokkere alle som har en anden henvisende side end din egen
RewriteEngine On
RewriteCond %{HTTP_REFERER} .
RewriteCond %{HTTP_REFERER} !^http://www.domæne.dk [NC]
RewriteRule .(jpe?g|gif|png|bmp)$ - [F] |
Rewrite ikke rigtige filer eller mapper
1 2 3 4 5 6 |
#stop rewrite af rigtige filer og mapper
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
#indsæt din rewriterule her |
Blokker adgang ud fra tid
1 2 3 4 |
#blokker adgang ud fra tid
#blokkere adgang til site kl 15
RewriteEngine On RewriteCond %{TIME_HOUR} ^15$
RewriteRule ^.*$ - [F,L] |
Som sagt er der ikke tale om en tutorial her, dette er simpelthen bare nogle af de Rewrites jeg ofte selv bruger, som jeg tænkte jeg ville dele.
super liste med gode eksempler. tak
Selv tak, det er ikke utænkeligt at jeg udvidder listen lidt her en af dagene.
Det er super, Martin. Der mangler i den grad ordenlig online hjælp til rewriting på dansk!
Tak skal du have, og ja jeg er helt enig, der mangler mod_rewrite hjælp på dansk, og det vil jeg forsøge at gøre mit til bliver et mindre problem
Anders Saugstrup – ja, du kan starte med at rewrite rewrting til dansk!
Super eksempler,
Jeg har et spørgsmål til dette eksempel:
# anti-hotlink
# blokkere alle som har en anden henvisende side end din egen
RewriteEngine On
RewriteCond %{HTTP_REFERER} .
RewriteCond %{HTTP_REFERER} !^http://www.domæne.dk [NC]
RewriteRule .(jpe?g|gif|png|bmp)$ – [F]
Istedet for fejlsiden der kommer frem, kan man så ikke vise et billede man selv vælger, eller sende brugerne videre til en anden side?
@John du kan sagtens erstatte billedet med et stop hotlinking, fx:
Så vil hotlinking.png blive vidst på brugerens side
Link til seneste blogindlæg: Hvilken telefon skal man vælge? iPhone, Samsung eller HTC?