Mostra notizie nelle discussioni
Avatar
☺
Scritto da
altg
utente che non utiene
il 2012-05-26 15:58:37.0 alle 2012-05-26 15:58:37.0
Trollate totali: 11540
Sempre su come rendere carini gli URL...
Hrmf.

Allora, fare un mod_rewrite funzionerebbe, si`, e in pratica genera un indirizzo che non ha parametri (dopo il punto interrogativo), e viene visto come una specie di percorso virtuale. Per spiegarmi bene, questo e` il .htaccess che sto usando, nella directory "www" della docroot.

RewriteEngine   on
RewriteBase     /www/

RewriteCond     %{REQUEST_FILENAME} !-f
RewriteCond     %{REQUEST_FILENAME} !-d
RewriteRule     ^(.*) http://localhost/www/index.php


Ora, in effetti se io prendo il browser e visito, che so...

http://localhost/www/qualche/percorso/virtuale

Ottengo che index.php viene chiamato in causa e a quel punto, se dico a index.php di stampare la sua $_SERVER['REQUEST_URI'], mi dice:

/www/qualche/percorso/virtuale

E fin qui tutto bene, perche` da quella stringa li` potrebbe risalire senza problemi al contenuto da mostrare. Il problema e` che ci sarebbe un effetto collaterale. Se poi nell'output HTML mi riferisco a oggetti del filesystem tramite percorsi non assoluti, il browser... li interpreta come basati sul percorso "virtuale". Cioe` si limita a togliere l'ultimo nodo del percorso e ad aggiungerci il percorso all'oggetto (file o directory). Voglio dire che se nell'output HTML scrivo

<a href="qualcosa">test link</a>

il browser, cliccando, mi porta a:

http://localhost/www/qualche/percorso/qualcosa

che pero` non mi sta bene. E` possibile risolverlo in qualche modo, oppure devo passare a usare percorsi assoluti? (un'altra soluzione sarebbe infilare una serie di tanti pattern "../" quanti sono i nodi del percorso virtuale, ma mi sembrerebbe macchinoso)

**Modificato dall'autore il 26.05.2012 16:00**

Pagina generata in 161 millisecondi

Utenti attivi: 14 nell'ultimo minuto, 33 negli ultimi cinque minuti, 64 negli ultimi 15 minuti