2) Les adreces dels posts passen a ser de http//www.siknus.com/?p=01-01-07-codi-post a http//siknus.com/codi-post. Molt més elegants, no?
No us preocupeu ni d’actualitzar els enllaços ni de tornar-vos a subscriure als nous fils. Es fa automàticament.
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
############ REDIRECTS 301 NOTIFICANT ALS SPIDERS ############
# Elimina el subdomini www i els secta, etc… mal indexats,
# deixant la resta de la URL igual.
RewriteCond %{HTTP_HOST} ^www\.siknus\.com.* [NC,OR]
RewriteCond %{HTTP_HOST} ^secta\.siknus\.com.* [NC,OR]
RewriteCond %{HTTP_HOST} ^bloc\.siknus\.com.* [NC,OR]
RewriteCond %{HTTP_HOST} ^matrix\.siknus\.com.* [NC,OR]
RewriteCond %{HTTP_HOST} ^blog\.siknus\.com.* [NC]
RewriteRule ^(.*)$ http://siknus.com/$1 [R=301,L]
# Si el subdomini que hi ha no és un dels anteriors, envia’l
# com a directori després de la barra. Exemple:
# (De http://parellaperfectometre.siknus.com/
# a http://siknus.com/parellaperfectometre)
RewriteCond %{HTTP_HOST} ^([a-zA-Z_0-9\-]*)\.siknus\.com.* [NC]
RewriteRule ^.*$ http://siknus.com/%1 [R=301,L]
########## ADAPTACIÓ DE LES URLS ANTIGUES A LES NOVES ##########
# Si la URL té un codi de data en el format dd-mm-aa-
# (aproximadament ;)), l’elimina per adapatar els codis antics
# de posts tipus ?p=dd-mm-aa-nom-del-codi als nous
# ?p=nom-del-codi.
RewriteRule ^[0-9]+\-[0-9]+\-[0-9]+\-(.*)$ /$1? [R=301,L]
# /?sec=rss es converteix en /feeds (excepció de la redirecció
# següent, ja que sec=rss passa a ser sec=feeds)
# Possibilitat d’eliminar aquesta regla al cap d’un temps.
RewriteCond %{QUERY_STRING} ^sec=rss.*$
RewriteRule ^$ /feeds? [R=301,L]
# /?sec=* es converteix en /* on * = qualsevol cosa
# Possibilitat d’eliminar aquesta regla al cap d’un temps.
RewriteCond %{QUERY_STRING} ^sec=([a-zA-Z_0-9\-]*)$
RewriteRule ^$ /%1? [R=301,L]
# /?arxiu=* es converteix en /arxiu/*
RewriteCond %{QUERY_STRING} ^arxiu=([a-zA-Z_0-9\-]*)$
RewriteRule ^$ /arxiu/%1? [R=301,L]
# /?e=* es converteix en /forum/entrada/*
# Possibilitat d’eliminar aquesta regla al cap d’un temps.
RewriteCond %{QUERY_STRING} ^e=([a-zA-Z_0-9\-]*)$
RewriteRule ^$ /forum/entrada/%1? [R=301,L]
# /?alb=* es converteix en /fotos/album/*
# Possibilitat d’eliminar aquesta regla al cap d’un temps (poc)
RewriteCond %{QUERY_STRING} ^alb=([a-zA-Z_0-9\-]*)$
RewriteRule ^$ /fotos/album/%1? [R=301,L]
# Si no hi ha QueryString, /feed/rss2 es converteix en /rss
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^feed/rss2/?$ /rss? [R=301,L]
# Si no hi ha QueryString, /feed/atom1 es converteix en /atom
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^feed/atom1/?$ /atom? [R=301,L]
# Si no hi ha QueryString, /feed/comentaris es converteix en
# /comentaris/rss
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^feed/comentaris/?$ /comentaris/rss? [R=301,L]
# Si hi ha el paràmetre cat=*,i és un feed tipus feed/*2 (rss)
# o feed/*1 (atom), /feed/*numero/?cat=nomcat es converteix en
# /categoria/nomcat/*
RewriteCond %{QUERY_STRING} ^cat=([a-zA-Z_0-9\-]*)$
RewriteRule ^.*feed/([a-zA-Z_\-]*).*$ /categoria/%1/$1? [R=301,L]
# Si hi ha el paràmetre cat=*, i no és un feed, /?cat=* es
# converteix en /categoria/*
RewriteCond %{REQUEST_URI} !^.*feed.*$
RewriteCond %{QUERY_STRING} ^cat=([a-zA-Z_0-9\-]*)$
RewriteRule ^$ /categoria/%1? [R=301,L]
# Si hi ha el paràmetre p=*, i és un feed, ha de ser de
# comentaris i rss, per tant /feed/comentaris/?p=* es converteix
# en /*/comentaris/rss
RewriteCond %{QUERY_STRING} ^p=([a-zA-Z_0-9\-]*)$
RewriteRule ^.*feed/([a-zA-Z_\-]*).*$ /%1/comentaris/rss? [R=301,L]
# Si hi ha només el paràmetre p=*, i no és un feed, /?p=*
# es converteix en /*
RewriteCond %{REQUEST_URI} !^.*feed.*$
RewriteCond %{QUERY_STRING} ^p=([a-zA-Z_0-9\-]*)$
RewriteRule ^$ /%1? [R=301,L]
# Si hi ha el paràmetre p=* i el paràmetre rec=*, /?p=*1&rec=*2
# es converteix en /*1/rec/*2 (sistema d’obrir recomanar per
# e-mail incrustat als feeds).
RewriteCond %{QUERY_STRING} ^p=([^&]*)&rec=([^&]*)$
RewriteRule ^$ /%1/rec/%2 [R=301,L]
################################################################
# (Si es demana un arxiu o un directori que existeix, es deix
# passar la url tal qual)
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.*)$ – [L]
####################### REDIRECTS OCULTS #######################
## (no es mostren públicament, mantenint la URL al navegador) ##
RewriteRule ^bloc/?$ / [R=301,L,NC]
RewriteRule ^perfil/?$ index.php?sec=perfil [L,NC]
RewriteRule ^fotos/?$ index.php?sec=fotos [L,NC]
RewriteRule ^forum/?$ index.php?sec=forum [L,NC]
RewriteRule ^feeds/?$ index.php?sec=feeds [L,NC]
RewriteRule ^rss/?$ rss2.php [L,NC]
RewriteRule ^atom/?$ atom1.php [L,NC]
RewriteRule ^comentaris/rss/?$ rss2comentaris.php [L,NC]
RewriteRule ^categoria/([a-zA-Z_0-9\-]+)/rss/?$ rss2.php?cat=$1 [L,NC]
RewriteRule ^categoria/([a-zA-Z_0-9\-]+)/atom/?$ atom1.php?cat=$1 [L,NC]
RewriteRule ^categoria/([a-zA-Z_0-9\-]+)/?$ index.php?cat=$1 [L,NC]
RewriteRule ^arxiu/([a-zA-Z_0-9\-]+)/?$ index.php?arxiu=$1 [L,NC]
RewriteRule ^forum/entrada/([a-zA-Z_0-9\-]+)/?$ index.php?e=$1 [L,NC]
RewriteRule ^fotos/album/([a-zA-Z_0-9\-]+)/?$ index.php?alb=$1 [L,NC]
RewriteRule ^([a-zA-Z_0-9\-]+)/comentaris/rss/?$ rss2comentaris.php?p=$1 [L,NC]
RewriteRule ^([a-zA-Z_0-9\-]+)/rec/([0-9]+)/?$ index.php?p=$1&rec=$2 [L,NC]
RewriteRule ^([a-zA-Z_0-9\-]+)/?$ index.php?p=$1 [L,NC]
# Uff…