Ciao a tutti,
ho già aperto un thread a riguardo ma era nella sezione sbagliata e a quanto pare non ero stato chiaro quindi riapro qua.
Background:
Ho deciso di usare URL "personalizzati" per le varie sezioni del sito e le sezioni sono salvate a partire dalla root del sito nella sottocartella /projects/ in cui, appunto, c'è una cartella per ogni sezione (quindi /projects/android , /projects/unity e forse un giorno ce ne saranno altre :P )
Obbiettivo:
L'idea è di trasformare gli URL in questo modo
Codice:
// ad esempio
// da (senza rewrite)
http://codx.altervista.org/projects/unity/doc/virtualjoystick/
// a (con rewrite)
http://unity.codx.altervista.org/doc/virtualjoystick/
Come mi sono organizzato:
Nell'.htaccess della root del sito ho aggiunto queste regole
Codice:
RewriteEngine on
RewriteBase /
...
# Unity
RewriteCond %{HTTP_HOST} unity.codx.altervista.org # se l'host è unity.eccetera
RewriteCond %{REQUEST_URI} !^/projects/unity(.*)$ # e se l'uri non punta la sottocartella
RewriteRule ^(.*)$ /projects/unity/$1 [L] # vai a prendere l'uri del sottodominio a partire dalla cartella (root)/projects/unity/
...
Problema:
Apparentemente funziona nel senso che se io scrivo l'indirizzo con dominio di quarto livello lui mi punta la index correttamente senza fare danni peccato che se io vado all'indirizzo sopra citato (notare la differenza tra l'href di questo link e l'indirizzo effettivo della pagina in cui viene aperto) mi ritrovi le sottocartelle nell'URL (rima non voluta ma visto che c'è lasciamola :P )
Ho passato le ultime due ore a cercare di capire al meglio il funzionamento del rewrite engine ma non sono arrivato a nulla di diverso da quanto già avevo (se non il caso generale (.*).codx.altervista.org che preferisco non usare)... Onestamente sono cotto quindi chiedo a voi che probabilmente non dovete nemmeno starci a pensare troppo... come posso evitare di ritrovarmi la sottocartella nel sottodominio?
In pratica, come forzare il primo tipo di indirizzo ed evitare il secondo?
Codice:
// PRIMO (DA EVITARE), come si nota, c'è sia il sotto-dominio, sia la sotto-cartella
http://unity.codx.altervista.org/projects/unity/doc/virtualjoystick/
// SECONDO (FORMA DESIDERATA), la sotto-cartella viene sostituita dal sotto-dominio
http://unity.codx.altervista.org/doc/virtualjoystick/
Un mezzo papiro, lo so, ma non sono stato chiaro la prima volta, cerco di esserlo questa.