ZenGFX.net

Graphic & Informatic Resources

abilitare mod rewrite su windows


Abbiamo visto nell’articolo precedente come abilitare in pochi semplici passi il mod rewrite di apache su Debian.

Ovviamente la stessa cosa è fattibile su windows, ma come capita di vedere molto spesso sul web, le difficoltà che gli utenti sembrano provare sono ben superiori.

In questa guida partiremo dal presupposto che sia stata installata la versione “pulita” di apache non derivata da pacchetti d’installazione come EasyPHP anche se, in buona sostanza, le cose non dovrebbero variare a meno che il mod rewrite non sia presente nel pacchetto che viene scelto.

Per prima cosa bisogna munirsi di apache, scegliete voi quale versione preferite dal sito ufficiale.

Quando l’avrete scaricato e correttamente installato, andiamo a procedere con la modifica del suo file di configurazione che troverete alternativamente o nel menù avvio:

Start > tutti i programmi > apache HTTP Server > Configura Apache Server > Edit httpd.config

o anche in:

C:\Programmi\Apache Software Foundation\Apache2.2\conf\httpd.conf

Adesso possiamo editare il nostro file di configurazione.

Una semplice avvertenza, usate blocco note o in alternativa posso consigliarvi un ottimo programma OS quale Notepad++.

Una volta aperto troverete davanti a voi i settaggi base di Apache così come quando è stato installato. Per ogni evenienza eseguite prima un Back Up del file.

Fatto il Back Up iniziamo con la modifica del nostro config andando a cercare le righe:

<Directory />

Options FollowSymLinks Includes

AllowOverride none

Order deny,allow

Deny from all

</Directory>

Sostituite il None con all

<Directory />

Options FollowSymLinks Includes

AllowOverride all

Order deny,allow

Deny from all

</Directory>

Poco più sotto troverete la stessa regola ma per la cartella principale dell’host, di default è htdocs.

<Directory “C:/Programmi/Apache Software Foundation/Apache2.2/htdocs”>

La sintassi è la stessa della precedente e fa riferimento a quella specifica cartella del server. Anche in questo caso la riga

AllowOverride none

Deve essere cambiata con

AllowOverride all

per assicurare l’override nelle cartelle.

Ma ancora non basta, infatti componente essenziale delle tecniche SEO è il file htaccess. In questo file vengono contenute le regole della cartella ed apache punta di default a .htaccess contenuto nelle varie directory a partire da htdocs.

Gli esperti sicuramente sapranno che un file che inizia con il . , in ambiente linux equivale ad un file nascosto ma su windows non ha alcun senso. Di fatto quello che a noi occorre è un file di testo leggibile e quindi con estensione .txt.

Joomla, ad esempo, proprio tenendo conto di questo importante fattore, rilascia il proprio .htaccess sottoforma di htaccess.txt.

Ovviamente questo file non deve essere in alcun modo leggibile da terze parti e quindi deve essere protetto.

Per proteggerlo, ci avvarremo di una direttiva di apache e dato che vogliamo che il nostro file sia htaccess.txt e non .htaccess, andremo a modificare questi nomi in apache.

Per prima cosa proteggiamo il file editando la regola:

<FilesMatch “^\.ht”>

Order allow,deny

Deny from all

Satisfy All

</FilesMatch>

con

<FilesMatch “^\htaccess”>

Order allow,deny

Deny from all

Satisfy All

</FilesMatch>

per indicare al server di proteggere dalla lettura tutti i file che avranno nome iniziante per htaccess.

Ma dobbiamo anche indicare ad apache il nuovo nome da noi dato e a cui esso dovrà fare riferimento.

Per farlo troviamo questo codice

AccessFileName .htaccess

E sostituiamola con:

AccessFileName htaccess.txt

se questa riga non dovesse essere presente nel vostro file config, aggiungetela voi.

Nota importante. Nel file di configurazione, non usate il cerca e sostituisci tutto per AllowOverride All dato che questo compare anche in cartelle riservate ad apache come:

<Directory “C:/Programmi/Apache Software Foundation/Apache2.2/cgi-bin”>

AllowOverride None

Options None

Order allow,deny

Allow from all

</Directory>

in cui ovviamente la direttiva AllowOverride deve rimanere su None!

A questo punto, non ci resta che togliere il commento # davanti la riga

LoadModule rewrite_module modules/mod_rewrite.so

riavviate il server e buon divertimento con i vostri file htaccess ed esperimenti SEO.



Leave a Reply