Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Scrivere un .htaccess per il nostro CMS

Link copiato negli appunti

Logo Apache

Se per un determinato progetto decidiamo di non utilizzare soluzioni CMS già  pronte e preferiamo la vecchia e cara tecnica dello sviluppo from scratch (cioè partendo da zero), dovremo porci il problema relativo al formato delle URL.

Inutile negarlo, queste hanno ormai assunto un ruolo molto importante per tematiche come posizionamento nelle SERP dei motori di ricerca e ottimizzazione, quindi per non ignorare il problema è bene (già  in fase progettuale) che il nostro CMS permetta di proporre sia agli utenti che a Google e compagnia delle URL quanto più possibile User Friendly e Search Engine Friendly.

A questo punto le soluzioni potrebbero essere due: creare un CMS in grado di generare fisicamente file e cartelle, o affidarci al mod_rewrite di Apache (quando disponibile) per scrivere dei file .htaccess appositamente confezionati per il nostro scopo.

La prima soluzione non è molto pratica ed è scarsamente utilizzata nei CMS più noti sviluppati in PHP; è però abbastanza semplice da realizzare associando i file e le cartelle create a dei records in tabella da utilizzare per l'archiviazione delle diverse voci che vanno a comporre le URL (ad esempio: nome cartella = nome_categoria, nome file = nome_pagina).

La seconda soluzione è molto più pratica e professionale, ma richiede buone conoscenze riguardo alla sintassi da utilizzare per la scrittura dei file .htaccess, tra le nozioni necessarie vi sono anche quelle relative all'utilizzo delle espressioni regolari che non sono certo pane per i neofiti.

Fortunatamente, la tecnica della riscrittura delle URL va diffondendosi sempre di più presso gli sviluppatori, di conseguenza sono sempre maggiori le risorse disponibili riguardo all'argomento.
Per coloro che decidono di affrontare la tematica, consiglio di dare uno sguardo al file .htaccess di sNews di cui riporto integralmente le regole per il rewrite:

RewriteEngine On
#RewriteBase /sNews16
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(.*) $1 [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?category=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-z_]+)/([^/]+) index.php?category=$1&title=$2 [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-z_]+)/([^/]+)/([^/]+)/ index.php?category=$1&title=$2&commentspage=$3 [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-z0-9_-]+)/([0-9]+)/ index.php?category=$1 articlespage=$2 [L]

Non c'è che dire, è semplice e completo nello stesso tempo prevedendo tutti i casi più ricorrenti di riscrittura; ottimo come spunto per l'integrazione con i CMS "caserecci".

Ti consigliamo anche