Visualizzazione risultati 1 fino 12 di 12

Discussione: [htaccess]Espressioni regolari RewriteRule per particolari Request_uri

  1. #1
    L'avatar di andreafallico
    andreafallico non è connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito [htaccess]Espressioni regolari RewriteRule per particolari Request_uri

    Tramite espressioni regolari devo fare un RewriteRule quando l'utente nella barra degli indirizzi sbaglia inserendo due o più //.

    Per esem digita sito.ext/prova//dir/ciao.html
    oppure sito.ext/prova//dir///ciao.html
    oppure sito.ext///////prova//dir///ciao.html
    per tutti questi indirizzi deve fare sempre un R=301 a sito.ext/prova/dir/ciao.html, cioè deve eliminare gli / di troppo.
    Ho provato diverse espressioni però non fa un R=301 (non si verifica mai la condizione), avete qualche idea di come fare l'espressione regolare?

  2. #2
    L'avatar di darkwolf
    darkwolf non è connesso Salvatore Noschese
    Data registrazione
    18-04-2007
    Residenza
    Reggiolo (RE)
    Messaggi
    6,558

    Predefinito

    Ultima modifica di darkwolf : 26-12-2009 alle ore 19.19.39

  3. #3
    L'avatar di andreafallico
    andreafallico non è connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

  4. #4
    L'avatar di darkwolf
    darkwolf non è connesso Salvatore Noschese
    Data registrazione
    18-04-2007
    Residenza
    Reggiolo (RE)
    Messaggi
    6,558

    Predefinito

    Figurati :)
    Ho appena provato questo:
    Codice:
    # Remove multiple slashes anywhere in URL
    RewriteCond %{REQUEST_URI} ^(.*)//(.*)$
    RewriteRule . %1/%2 [R=301,L]
    e sembra funzionare benone ;) -> darkwolf.altervista.org/////////////guestbook///////////////////

  5. #5
    L'avatar di andreafallico
    andreafallico non è connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito

    Citazione Originalmente inviato da darkwolf Visualizza messaggio
    Figurati :)
    Ho appena provato questo:
    Codice:
    # Remove multiple slashes anywhere in URL
    RewriteCond %{REQUEST_URI} ^(.*)//(.*)$
    RewriteRule . %1/%2 [R=301,L]
    e sembra funzionare benone ;) -> darkwolf.altervista.org/////////////guestbook///////////////////
    Anche con questo RewriteCond:
    Codice:
    RewriteCond %{REQUEST_URI} ^(.*)/{2,}(.*)$

  6. #6
    L'avatar di darkwolf
    darkwolf non è connesso Salvatore Noschese
    Data registrazione
    18-04-2007
    Residenza
    Reggiolo (RE)
    Messaggi
    6,558

    Predefinito

    Mi sembra che si comportino nello stesso identico modo (o sbaglio?) :)
    -
    Edit: ho notato che sito.altervista.org////// non viene "ripulito" però.
    Ultima modifica di darkwolf : 26-12-2009 alle ore 19.42.20

  7. #7
    L'avatar di andreafallico
    andreafallico non è connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito

    Infatti lo stavo scrivendo, ho provato ad aggiungere anche questo:
    Codice:
    # Remove multiple slashes after domain
    RewriteRule ^/(.*)$ http://www.domain.com/$1 [R=301,L]
    però non cambia.

  8. #8
    L'avatar di darkwolf
    darkwolf non è connesso Salvatore Noschese
    Data registrazione
    18-04-2007
    Residenza
    Reggiolo (RE)
    Messaggi
    6,558

    Predefinito

    Anch'io stavo facendo le mie prove/ricerche :)
    http://www.webmasterworld.com/apache/3903108.htm
    Codice:
    # Redirect to remove double slash within URL-path
    RewriteCond %{REQUEST_URI} ^(.*)//(.*)$
    RewriteRule . http://www.example.com%1/%2 [R=301,L]
    #
    # Redirect to remove multiple slashes before URL-path
    RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ //+([^\ ]*)
    RewriteRule .* http://www.example.com/%1 [R=301,L]
    E sembra funzionare perfettamente
    -
    Edit: qui altri esempi: http://www.webmasterworld.com/apache/3585381.htm
    Ultima modifica di darkwolf : 26-12-2009 alle ore 20.52.55

  9. #9
    L'avatar di andreafallico
    andreafallico non è connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito

    Finalmente ora funziona. Grazie.
    Piccolo OT per restare argomento htaccess:
    Però ancora persiste questo problema: [Apache .htaccess]Problema ErrorDocument solo per alcuni link.

  10. #10
    L'avatar di darkwolf
    darkwolf non è connesso Salvatore Noschese
    Data registrazione
    18-04-2007
    Residenza
    Reggiolo (RE)
    Messaggi
    6,558

    Predefinito

    :)
    In realtà li continua a non funzionare a causa di una "conversione" dei caratteri.
    Così non funziona:
    http://andreafallico.altervista.org/...F%2F%2F%2F&r=1
    Così invece si:
    http://andreafallico.altervista.org/...io=///////&r=1

  11. #11
    L'avatar di andreafallico
    andreafallico non è connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito

    Citazione Originalmente inviato da darkwolf Visualizza messaggio
    :)
    In realtà li continua a non funzionare a causa di una "conversione" dei caratteri.
    Così non funziona:
    http://andreafallico.altervista.org/...F%2F%2F%2F&r=1
    Così invece si:
    http://andreafallico.altervista.org/...io=///////&r=1
    Però, nel primo link, perchè non mi mostra la mia pagina d'errore 404 personalizzata?

  12. #12
    L'avatar di darkwolf
    darkwolf non è connesso Salvatore Noschese
    Data registrazione
    18-04-2007
    Residenza
    Reggiolo (RE)
    Messaggi
    6,558

    Predefinito

    Penso sia dovuto al fatto che tu hai un file search.php nel tuo sito
    Difatti se provi con: http://andreafallico.altervista.org/...io=///////&r=1 va in 404 :)

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •