OSX 10.9 – Installare server apache

Utilizzare il server web Apache all’interno del nostro Mac OSX.

Il server web Apache è installato di default su OSX.

Per poter verificare la presenza del server web sul proprio Mac è necessario utilizzare l’utility Terminale all’interno di Applicazioni / Utility.

All’interno del Terminale è possibile

  • verificare la versione di Apache con il comando

  • eseguire Apache con il comando

  • stopppare Apache con il comando

  • eseguire il restart di Apache con il comando

Utilizzando Safari  una volta avviato il server Apache, è possibile verificarne il funzionamento  digitando http://localhost. Se Apache è installato correttamente e funzionante il risultato dovrebbe essere quello riportato in figura.

It works!

I files visualizzati nella root di Apache sono localizzati nella cartella

Inoltre, all’interno di ciascuna directory utente è presente una cartella denominata Siti (oppure Sites) all’interno della quale è possibile inserire le proprie pagine personali.

Copiando all’interno di questa cartella i files .html creati (ad esempio utilizzando TextWrangler), possono essere visualizzate attraverso il percorso http://localhost/~/nomeutente 

Php – Url SEO friendly Function

In fase di ristrutturazione di un sito internet in php, spesso ci si trova nella necessità di interagire con gli URL in modo da renderli SEO Friendly.

Una prima soluzione potrebbe essere quella di utilizzare il mod_rewrite di Apache in combinazione con una funzione in grado di generare i link in maniera virtuale.

In internet esistono numerose funzioni in grado di generare un URL SEO Friendly a partire da alcuni parametri (es. categoria articolo, sottocategoria articolo).

Supponendo di voler generare un URL per la visualizzazione di tutti gli articoli di una determinata categoria e di una determinata sottocategoria, si può utilizzare la seguente funzione php:

Le prime due righe definiscono i patterns che dovranno essere sostituiti dall’URL originale.

Successivamente viene generato l’URL virtuale utilizzando la funzione php preg_replace(…).

L’URL risultante avrà la seguente forma: /cartella/IDcategoria/IDsottocategoria/titolo-articolo.html

A questo punto utilizzando una opportuna rule nel file .htaccess (mod_rewrite) si può facilmente intercettare l’ID della categoria (secondo parametro della URL virtuale) e l’ID della sottocategoria (terzo parametro della URL virtuale).

 Un esempio di RewriteRule da inserire nel file .htaccess può essere la seguente:

Si rimanda a questo link per il post relativo all’utilizzo del mod_rewrite di Apache.

Apache – Indirizzi SEO Friendly – Parte 2

In internet esistono tools che consentono di generare in maniera automatica le espressioni regolari da inserire all’interno del file .htaccess.

Ad esempio al link è possibile trovare il Mod_rewrite rule generator. Partendo dall’indirizzo che deve essere convertito vengono le regole che dovranno essere applicate.

Copiando il file .htaccess su un server Aruba (linux) abbiamo riscontrato che le regole di rewrite non venivano prese in considerazione.

Il problema, consiste nel fatto che la regola di rewrite non viene attivata nel caso in cui il match indicato nella EXPR sia uguale a quello dell’Url a cui deve corrispondere. Per far funzionare è sufficiente modificare una delle due definizioni.

esempio:

deve essere convertito in

A questo link è presente un esempio di file .htaccess con le regole di rewrite di Aruba.

Apache – Indirizzi SEO Friendly – Parte 1

Durante la fase di sistemazione di un sito internet, spesso è necessario utilizzare strategie differenti per rendere i link SEO Friendly.  Ad esempio in un sito scritto in php mi sono imbattuto nel seguente link

http://www.miosito.it/sottocategoria.php?categoria=X&sottocategoria=Y

Un indirizzo cosi’ formato presenta sicuramente problemi di riconoscimento da parte dei motori di ricerca.

Sarebbe ad esempio molto più comodo riuscire a raggiungere la stessa pagina (sottocategoria.php) nel seguente modo:

http://www.miosito.it/sottocategoria/categoriaX/sottocategoriaY/

Se il server web è Apache, una possibile soluzione è quella di utilizzare il mod_rewrite.

A questo link è possibile visualizzare la documentazione ufficiale di Apache.

Questo modulo consente di effettuare una mappatura (utilizzando le espressioni regolari per il match) tra url SEO Friendly e URL effettivo.

In questo modo il motore di ricerca (ma anche l’utente) sono indirizzati verso un indirizzo “virtuale” facilmente identificabile, nascondendo la sua vera natura.

Per poter utilizzare il mod_rewrite è necessario intervenire su un file denominato .htaccess, posizionato solitamente nella root del sito internet.

In realtà, spesso,  il file .htaccess può anche essere gestito a livello di sottocartelle.

Dopo avere verificato che sul server Apache, il modulo mod_rewrite è attivo e funzionante,  la sintassi per poterlo utilizzare è la seguente:

La prima riga consiste nell’attivazione del modulo .

La seconda riga rappresenta una regola: una volta trovato il match sull’espressione EXPR viene convertito in UrlConvertito.

EXPR può essere un’espressione regolare.

FLAG può assumere i seguenti valori:

  • L – Ultima Direttiva: l’engine esegue tutte le trasformazioni anche se ha già trovato la corrispondenza;
  • QSA – Query String Append: riporta la query string dall’url fittizio a quello reale. Utile per portarsi dietro parametri che non avevamo previsto;
  • NC – No Case: valuta l’espressione senza fare differenza tra caratteri maiuscoli e minuscoli;

nel nostro esempio per convertire

http://www.miosito.it/sottocategoria.php?categoria=X&sottocategoria=Y

in

http://www.miosito.it/sottocategoria/categoriaX/sottocategoriaY/

possiamo usare la seguente regola: