Visualizzazione risultati 1 fino 9 di 9

Discussione: Aiuto!! Rewrite con .htaccess

  1. #1
    Guest

    Predefinito Aiuto!! Rewrite con .htaccess

    buongiorno,
    sono due giorni che cerco di risolvere il problema spulciando tra faq e forum ma non ne vengo a capo. spero qualcuno possa aiutarmi.

    sto riscrivendo alcune pagine del mio sito con estensione .php
    il sito è già indicizzato quindi vorrei mantenere tutte le url con .html

    vorrei fare ciò con il .htaccess

    sul vademecum di aruba dice di farlo con questa stringa da inserire:


    RewriteEngine On
    RewriteBase /
    RewriteRule (.*)\.htm$ $1.php

    io ci ho provato, ho cambiato, ricambiato, salvato, caricato, smanettato ma non succede niente.
    anzi, succede che le pagine .php mi danno errore 404

    aiuuuuuutoooo sto impazzendo

  2. #2
    L'avatar di mycarlo
    mycarlo non è connesso Utente attivo
    Data registrazione
    06-10-2009
    Residenza
    $this->s50
    Messaggi
    467

    Predefinito

    Codice:
    RewriteEngine On
    RewriteBase /
    RewriteRule (.*)\.html$ $1.php
    Prova così hai dimenticato di aggiungere una l dopo htm :D!

  3. #3
    Guest

    Predefinito

    Meglio avere un codice così:
    Codice:
    RewriteEngine On
    RewriteBase /
    RewriteRule ([a-zA-Z0-9]+)\.html$ $1.php
    Tanto i nomi non posso avere qualsiasi carattere come nella regola postata da mycarlo.

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

    Predefinito

    Come estensione si può aggiungere anche htm
    Codice:
    RewriteEngine On
    RewriteBase /
    RewriteRule ^(.*).(htm|html)$ $1.php [L]

  5. #5
    Guest

    Predefinito

    grazie a tutti per il tempo che mi avete dedicato.
    purtroppo non ne sto venendo a capo.

    ora sul mio file .htaccess ho scritto solo questo:

    Codice:
    RewriteEngine On
    RewriteBase /
    RewriteRule ([a-zA-Z0-9]+)\.html$ $1.php
    ho salvato

    e la pagina test.php è questa:

    http://veronaccia.altervista.org/test.php

    come vedete l'estensione è ancora .php

    è tutto terribilmente frustrante. mi viene da piangere...

    edit:

    ho provato anche con questo:

    Codice:
    RewriteEngine On
    RewriteBase /
    RewriteRule ^(.*).(htm|html)$ $1.php [L]
    ma niente.
    se è sbagliato mi da' errore. se è corretta la sintassi, come penso sia quella delle stringhe che mi mandate, non fa niente....

    uwaaaaa........
    Ultima modifica di dreadnaut : 19-10-2009 alle ore 16.28.36

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

    Predefinito

    E' normale, per vedere come estensione .html il link lo devi scrivere così
    http://veronaccia.altervista.org/test.html

  7. #7
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    @biccheddu: No, non è meglio. Con quella regola stai eliminando un sacco di url validi che contengono simboli non alfanumerici. Leggi magari qualcosa sui caratteri ammessi negli url.


    @andreafallico: quasi proteggere il punto, e last e rewritebase non sono necessarie in questo caso

    Codice:
    RewriteEngine On
    
    RewriteRule  ^(.*)\.(htm|html?)$   $1.php

    @veronaccia:
    RewriteRule traduce gli indirizzi per te, e traduce quello che c'è a sinistra nella regola in quello che c'è a destra. Però non elimina quello che c'è a destra, che rimane comunque raggiungibile. E' compito tuo eliminare tutti i link alle pagine php e sostituirli con html, in modo che le pagine .php non siano più visibili al pubblico.
    Ultima modifica di dreadnaut : 19-10-2009 alle ore 16.33.31

  8. #8
    Guest

    Predefinito

    sì sì funziona!!!
    grazie mille a tutti e scusate, sono solo un praticone, e spesso faccio le cose in modo empirico senza saperne l'intimo funzionamento.
    grazie ancora.
    fiuuuuu che sollievo

    scusate.
    posso ancora approfittare della vostra disponibilità?

    adesso ho il problema che l'index scritto così:

    http://www.veronaccia.altervista.org/

    mi da' di nuovo errore 404

    devo per forza esplicitare

    http://www.veronaccia.altervista.org/index.html

    per vedere l'index correttamente.
    qualcuno sa dirmi che stringa mettere in .htaccess perché si veda anche nella versione:
    http://www.veronaccia.altervista.org/

    grazie ancora
    Ultima modifica di veronaccia : 19-10-2009 alle ore 17.05.33

  9. #9
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Se hai una pagina index.html, la regola sopra ne traduce il nome in index.php, che probabilmente non hai.

    Hai due possibilità, o rinomini la pagina index.html in index.php, oppure aggiungi un'eccezione alla regola, così:
    Codice:
    RewriteEngine On
    
    # applica la regola seguente solo se la richiesta *non* ( ! ) era per la pagina index.html
    RewriteCond  %{REQUEST_URI}        !^/index\.html$
    
    # traduce tutte le pagine .htm e .html in .php
    RewriteRule  ^(.*)\.(htm|html?)$   $1.php
    Ultima modifica di dreadnaut : 19-10-2009 alle ore 18.23.13

Regole di scrittura

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