- Home
- Categorie
- La Community Connect.gt
- Tutto sulla Community
- Sapere la url originale
-
Sapere la url originale
scusate la domanda forse stupida...
ho un htaccess che mi trasforma degli url tipo
index_ita.php
in
index.php?lang=ita
e fin qui niente di strano.. la mia domanda è: in php posso sapere l'url originale richiesto? ovvero se io voglio sapere la richiesta prima del mod_rewriting come posso fare? anche perchè ovviamente il mio htaccess cambia molti tipi di pagine e ricreare a posteriori quello che ha modificato sarebbe troppo lunga.. ho provato con le $_SERVER ma ovviamente ci sono quelli dopo l'url rewriting.. è possibile una cosa del genere qualcuno mi sa aiutare? grazie
-
in $_SERVER dovresti trovare tutto
controllalo con un print_r()all'indice REQUEST_URI trovi la pagina richiesta dal browser
in PHP_SELF in nome dello script
in QUERY_STRING la query string
-
Ciao a tutti.
Anche a me interesserebbe la risposta a questo quesito.
Ho provato a fare il print_f($_SERVER) ma le variabili presenti sono quelle dopo url-rewrite, nessuna traccia delle originali...(a parte index.php presente come[SCRIPT_NAME] ma non è di alcuna utilità ovviamente..)
Qualche ulteriore suggerimento?
-
Ho sbagliato sintassi naturalmente:
print_r($_SERVER)
-
Ho fatto una prova..
URL richiesto: http://localhost/vacanze/
Regola: RewriteRule ^vacanze/$ tipovacanza.php?t=0$_SERVER:
[QUERY_STRING] => t=0 [REQUEST_URI] => /vacanze/ [SCRIPT_NAME] => /tipovacanza.php
-
Ciao Osvi,grazie per il tuo messaggio.
Ho un sito in joomla con il file .htaccess preconfigurato, io non so fare le modifiche per adattarlo a questa esigenza (ovvero di conservare le variabili dell'url originale joomla che è tipo
"index.php?option=com_content&view=category&id=64")
per poterle ritrovare anche con url riscritto, perchè con queste regole evidentemente si perdono..ho provato con $_SERVER appunto ma non c'è traccia..non so in realtà se quello che chiedo è possibile..
Ho scelto di utilizzare una riscrittura dove l'url è tipo "nomesito/pagina" per buona parte delle pagine, solo di alcune l'url è tipo "nomesito/subdir/123-pagina"...se posto il codice del file .htaccess puoi aiutarmi?
Se non chiedo troppo ovviamente.
Grazie
-
Non conosco bene Joomla quindi postarmi il codice servirebbe a poco (se vuoi postalo pure, magari qualcuno può aiutarti meglio).
Domanda: dove vuoi arrivare? Hai fatto un dump di $_SERVER? Quei tre elementi dell'array che ho postato cosa contengono?
-
Ciao.
No, purtroppo credo di avere capito in queste ultme ore che quello che chiedo non è possibile ..
Il file .htaccess è in realtà piuttosto semplice:########## Begin - Joomla! core SEF Section
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/index.php
RewriteCond %{REQUEST_URI} (/|.php|.html|.htm|.feed|.pdf|.raw|/[^.])$
RewriteRule (.) index.php
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
RewriteRule . %{REQUEST_FILENAME}.php%{PATH_INFO}########## End - Joomla! core SEF Section
C'è un'altra parte ma riguarda solo la sicurezza.
Il fatto è che l'url originale "index.php?option=com_content&view=category&id=64" è salvato in un campo ("link")di una tabella di DB e associato ad un alias (campo "alias" dello stesso record) che posso scrivere io.
Di fatto la riscrittura dell'url viene elaborata da joomla stesso che, leggendo l'url originale associato ad un certo alias, fornisce l'output di quella pagina.Ribadisco di non essere esperto di .htaccess, forse puoi interpretare quelle poche righe ma credo che aiutino solo a (es.) consentire di utilizzare url senza estensioni .php, .html ( come sto facendo io) etc. ma le variabili che cerco (id, category) non esistono nell'ambiente server che processa, di fatto, solo l'alias.
Infatti print_r($_SERVER) fornisce solo riferimenti all'alias...quindi per risalire a quei parametri devo ri-interrogare il db e cercarli lì..Forse qualcun'altro può trovare utile questa riflessione che credo sia esatta..oppure smentirmi..
-
:bho:
Se vuoi posso spostare la discussione nel forum Joomla.. purtroppo non conosco come è fatto internamente.
Dal punto del mod_rewrite semplice è come ho scritto sopra, ma se la richista passa per nonsisadove dovresti trovare il primo stage e modificare il codice direttamente.
Questo potrebbe voler dire modificare il sorgente di Joomla (e non è bello, ad ogni aggiornamento...)