- Home
- Categorie
- Coding e Sistemistica
- PHP
- Piccolo dubbio su php e mod_rewrite
-
@pierastana said:
Ciao a tutti e scusate se vi disturbo.
Mi trovo qua a scrivere su questo forum per chiedere un piccolo consiglio a voi esperti in materia.
Il mio dubbio riguarda il php e l'utilizzo del mod_rewrite attraverso l'uso di Apache e del file .htaccess.
Premetto che il tutto funziona perfettamente e se impostassi la pagina con un indirizzo URL simile al vostro (dove non compaiono / a metà URL se non per indicare le sezioni) non ho nessun tipo di problema!
Però per alcune pagine avrei intenzioni di utilizzare queste benedette slashes... e qui sorgono i problemi!!!
Evidentemente quando inserisco le slashes (" // ") il web mi legge queste come un cambiamento di cartella (esempio sito/utente/pierastana) e dunque non legge ad esempio il file .css perchè inserito nella root od ancora, quando clicco ad esempio sul blog, il web pensa che "utente" sia la cartella principale e mi indirizza a un indirizzo URL di questo tipo: sito/utente/blog (quando ovviamente dovrebbe essere sito/blog).
Il problema non sorgerebbe se ad esempio utilizzassi un rewrite del tipo utente-pierastana (sostituendo la / con il -) però ho una pagina dove elenco le scuole dei vari paesi e necessito per forza di un indirizzo URL del tipo scuola/toscana/firenze...Avete capito un po' cosa intendo? Sapete per caso come risolvere questo problemino?
In ogni caso scusate ancora il disturbo e grazie per l'aiuto che ci offrite!!puoi postare il codice che utilizzi in htaccess...
come è scritturato l'inidirizzo da modificare?? tipo index.php?................
-
Ok, faccio subito ed intanto grazie per l'interessamento!
Questo è il mio file .htaccess attuale e con questa impostazione il tutto funziona perfettamente.
[PHP]RewriteEngine On
RewriteRule ^contattaci$ contatti.php
RewriteRule ^scuola(.)-classe(.)$ classe.php?scuola=$1&classe=$2 [/PHP]DUBBIO 1.
Se invece scrivessi una regola dove i nomi delle due pagine coincidono non funziona.
[PHP]RewriteEngine On
RewriteRule ^contatti$ contatti.php
[/PHP]
Volevo solo capire se fosse una cosa normale!!!DUBBIO 2.
Se volessi invece utilizzare una "/" per organizzare meglio l'URL, il browser me lo legge come cartella.
Esempio:
[PHP]RewriteEngine On
RewriteRule ^(.)/classe-(.)$ classe.php?scuola=$1&classe=$2 [/PHP]
Con questa regola vorrei ad esempio trasformare l'URL "sito/classe.php?scuola=liceo&classe=3" in "sito/liceo/classe-3".
Anche questa impostazione funziona correttamente, il problema lo risconto quando da questa clicco su un qualsiasi link: internet vede "liceo" come una cartella e se cliccassi ad esempio su index.php vengo reindirizzato all'URL "sito/liceo/index.php" (invece di sito/index.php).Spero di essere stato esaustivo e comprensivo...!!
-
il lavoro di mod_rewrite è molto lungo e complicato. Non basta solo modificare il file htaccess ma bensì bisogna modificare tutti gli url all'interno del sito
il problema che su una qualsiasi pagina cliccando su home vai a "sito/liceo/index" è perchè l'url del link home è: /index .... questo fa si che il server mantenga inalterato sito/liceo/ pensando che è il path e aggiunge index.php..
questo puoi risolverlo modificando l'url in sito/index ... utilizzando il path assoluto non può sbagliare nel seguire l'url.così dovranno essere TUTTI i link all'interno del sito
sito / classe.php?scuola=liceo&classe=3 dovrà essere anche nei link sito / liceo / classe - 3 e non solo in htaccess...quindi:
RewriteRule ^(.+)/classe-([0-9]+)$ /classe.php?scuola=$1&classe=$2
-
Si si esatto, infatti sto modificando pagina per pagina adesso e mi aspetterà un lungo lavoro...!!
Comunque in che modo (e cosa) devo modificare per ottenere ciò che tu chiami path assoluto?? Il file php.ini?
-
no assolutamente il php.ini è "solo" il file per le impostazioni php
il path assoluto va inserito in tutti i link del sito
i link che direzionano a errori o altre pagine dovranno avere http : / / ........................ quindi tutto l'urlnon so se utilizzi un cms.. ma se non sbaglio in wp puoi decidere quale path url usare
-
Attenzione inserisci nel meta robots il noindex,nofollow !!!!
-
Ah ecco, grazie mille...!!
Avevo intuito che bastasse inserire l'URL completo, però ho provato ad inserirlo senza http: // davanti e non funzionava...!!
Ora è tutto ok... Grazie mille marco1983
-
posso chiederti un favore??
mi dai una tua impressione a questo sito??
www . piemonte . guidazzurra . it
-
Si si certo...!!
Bè ho visitato un po' il sito...
La grafica risulta semplice anche dal punto di vista della comprensione, anche se per me il banner pubblicitario è troppo vicino al logo (non so perchè ma appena ho aperto la pagina mi è balzato quello sotto l'occhio).
Inoltre quando clicchi su font diversi dall'originale e vai alla pagina principale, l'hover sulle parole risulta sballato e quindi si spostano anche le immagini, i div, ...
-
purtroppo testo sempre il sito con chrome o firefox... avendo il mac devo utilizzare virtualbox per ie9 e mi crea noie..
strano che abbia dato questo problema perchè carico un altro css al click sulla grandezza font...
tempi di caricamento del sito.. sopratutto nella mappa come ti son sembrati?? eventuali migliorie??