1) Com que siknus.com m’agrada més que www.siknus.com, he tret les www.
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?
3) http://www.siknus.com/?sec=fotos http://siknus.com/fotos, http://www.siknus.com/?sec=perfil http://siknus.com/perfil, …
4) http://www.siknus.com/?cat=propostes http://siknus.com/categoria/propostes, …
5) http://www.siknus.com/?arxiu=01-2007 http://siknus.com/arxiu/01-2007,…
6) Nous fils (aka feeds): http://siknus.com/rss, http://siknus.com/atom, http://siknus.com/comentaris/rss, http://siknus.com/categoria/codi-categoria/rss, http://siknus.com/codi-post/comentaris/rss…
No us preocupeu ni d’actualitzar els enllaços ni de tornar-vos a subscriure als nous fils. Es fa automàticament.
Si voleu saber com, aquí teniu el .htaccess que ho fa:
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…
Mai abans havia fet cap .htaccess, no havia fet gairebé res de Regular Expressions i no sabia ni que el mod_rewrite de l’Apache existia, per tant si veieu que hi ha algun error o que es pot millorar o optimitzar el codi, feu-m’ho saber.
Ara a esperar que els Redirects 301 (mogut permanentment) facin el seu efecte i els cercadors actualitzin les noves URLs. 😉
Una altra curiositat en forma de codi guarro:
$prex=mysql_query("SELECT id_post FROM skb_bposts WHERE (filtre=’1′ OR filtre=’2′) AND id_post=’".$_REQUEST["p"]."’");
if (!mysql_num_rows($prex)) {
$pr=mysql_query("SELECT id_post FROM skb_bposts WHERE (filtre=’1′ OR filtre=’2′) AND id_post LIKE ‘%".$_REQUEST["p"]."%’ ORDER BY datahora DESC LIMIT 1");
if (mysql_num_rows($pr)) { //anar al post
$pa=mysql_fetch_array($pr);
header("HTTP/1.1 301 Moved Permanently");
header("Status: 301 Moved Permanently");
header("Location: /".$pa["id_post"]);
exit(0);
}
}
}
Això vol dir que si per exemple aneu a papallona.siknus.com, automàticament us porta a siknus.com/efecte-papallona. I qui diu papallona diu qualsevol part del codi del post al que voleu accedir: manu.siknus.com, mejide.siknus.com ….
6 respostes a “Canvis a les adreces de siknus.com (RewriteCond-RewriteRule powered)”
Moooolt més maco així, no hi ha color!
mmm…. interesant
ME ENCANTARÍA GANAR EN EL APARTADO DE MEJOR BLOG DE MÚSICA. SOLAMENTE OS PIDO QUE ECHEIS UN VISTAZO A MI BLOG Y DEJEIS COMO MINIMO VUESTRA OPINION.ES IMPORTANTE PARA MI. QUIERO DEDICARME A ESTO EN UN FUTURO NO MUY LEJANO
Hola, soy Pau Diaz Peñalver y te escribo con la única intención que visites mi blog y le eches un vistazo http://www.pearljam1979.blogspot.com/ si además te gusta y apetece, estaría encantado de que lo votaras COMO MEJOR BLOG DE MUSICA.
Gracias por tu tiempo
YO YA TE HE VOTADO
mi enlace http://www.20minutos.es/premios_20_blogs/votar/2808/2/
No entenc res
Fa segles (com sempre) que tinc pendent fer justament el contrari, que sempre apareguin les www. Per a gustos els colors.
Gràcies Cristinita! jeje
Ayu ;). A veure quan quedem i m’expliques coses de Mac i jo t’explico coses de Perl… i batch.
Pau, gràcies pel vot, jo també t’he votat. Una vegada. I de moment no m’interessa guanyar per res o sigui que millor no fem intercanvi mafiós de vots. 😉
MM, coses de feina. No pots pretendre entendre-ho tot tampoc. 😛 Gràcies pel comentari!
Utopiq, solució ràpida perquè no et costi temps:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^utupia\.com$ [NC]
RewriteRule ^(.*)$ http://www.utupia.com/$1 [R=301,L]
Prova posant un .htaccess a l’arrel amb això.
Si l’Apache del server t’accepta htaccess ja ho tens 😉