• User Attivo

    Piccolo dubbio su php e mod_rewrite

    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? :smile5:
    In ogni caso scusate ancora il disturbo e grazie per l'aiuto che ci offrite!!


  • User

    @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? :smile5:
    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?................


  • User Attivo

    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...!! 😃


  • User

    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


  • User Attivo

    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?


  • User

    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'url

    non so se utilizzi un cms.. ma se non sbaglio in wp puoi decidere quale path url usare


  • User

    Attenzione inserisci nel meta robots il noindex,nofollow !!!!


  • User Attivo

    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 :wink3:


  • User

    posso chiederti un favore??
    mi dai una tua impressione a questo sito??
    www . piemonte . guidazzurra . it


  • User Attivo

    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, ...
    😉


  • User

    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??