Uudelleenohjaukset: rewrite esimerkkejä

Apachen uudelleenohjaukset voidaan laittaa hostin konffitiedostoon tai .htaccess tiedostoon, jälkimmäinen on aina huonompi ratkaisu ja virtuaaliservereillä ei pitäisi ylipäätään käyttää .htaccess tiedostoa.

 

  • Ohjataan kaikki https-alkuiseen vastaavaan urliin uudelle domainille.
RewriteEngine on
RewriteCond %{HTTP_HOST} ^vanha.com [NC,OR]
RewriteCond %{HTTP_HOST} ^www.vanha.com [NC]
RewriteRule ^(.*)$ https://www.uusi.com/$1 [L,R=301,NC]

 

  • Ohjataan kaikki yhdelle määrätylle sivulle.
RewriteEngine On
RewriteRule .* https://uusi.domain.com/sivu/ [R=301,L]

 

  • Ohjataan kaikki uuden juuren.
RewriteEngine On
RewriteRule ^$ https://uusi.domain.com/ [R=301,L]
  • Sama yksinkertaisemmalla komennolla.
Redirect 301 / https://uusi.domain.com/

 

  • Tämä kääntää uuteen hakemistoon kuljettaen myös pyydettävän sivun.
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^(.*)/vanha-hakemisto/(.*)$ $1/uusihakemisto/$2 [R=301,L]

 

  • Käännetään domain.com muotoon www.domain.com
RewriteEngine on
RewriteBase /
rewritecond %{http_host} ^domain.com [nc]
rewriterule ^(.*)$ https://www.domain.com/$1 [r=301,nc]

 

  • Uudelleenohjataan vanhasta täysin samaan uuteen osoitteeseen niin, että kyselyparametrit (query string) liikkuu mukana.
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^(.*) https://www.uusidomain.com%{REQUEST_URI} [R=302,NC]

 

  • http ohjataan https:ään
RewriteEngine on
RewriteCond %{HTTPS} on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

 

  • Ohjataan vain yksi osoite uuteen (301 redirect)
Redirect 301 /sivu.php https://www.domain.com/uusinimi.php