Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Errore 404: cosa devo scrivere nell'htaccess e quanti htaccess devo usare? Perché il mio codice non funziona?

    Ho un sito statico contenuto nella cartella "xxx". Dentro questa cartella c'è questo htaccess:

    codice:
    ErrorDocument 404 /xxx/404.php

    Che funziona alla meraviglia.
    Il problema sorge quando digito www.nomesito.it/qualcosachenonesiste
    Per risolvere ho creato un secondo htaccess con questo codice:

    codice:
    ErrorDocument 404 /xxx/404.php

    che funziona ma mi carica la pagina 404.php senza immagini e css.
    Se scrivo:
    codice:
    ErrorDocument 404 /404.php

    e nel secondo file 404.php scrivo questo codice:

    codice:
    <?php
    header ( "Expires: Mon, 26 Jul 1997 05:00:00 GMT" );
    header ( "Cache-Control: no-cache" );
    header ( "Pragma: no-cache" );
    ?>
    <!DOCTYPE html>
    <html lang="it">
    <head>
            <script type="text/javascript">
                /*<![CDATA[*/
                if (navigator.userLanguage) {
                    var theAgent = navigator.userLanguage;
                } else {
                    var theAgent = navigator.language;
                }
                if (theAgent.indexOf('it') != -1) {
                    location.href = "xxx/404.php";
                }
                else {
                    location.href = "xxx/404.php";
                }
                /*]]>*/
            </script>
        </head>
        <body>
        </body>
    </html>

    Il browser imparrisce e vengo rediretto a www.nomesito.it/xxx/xxx/.../xxx/... Il ciclo se protratto credo che faccia bloccare il browser.

    Perché accade questo? Come posso risolvere?

    Grazie
    Più pratica in futuro...

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Di .htaccess ne basta uno solo nella root del sito (quindi nella cartella xxx), avrà effetto ovunque nelle sottocartelle.

    La regola da usare è
    codice:
    ErrorDocument 404 /xxx/404.php
    e 404.php deve stare nella cartella xxx assieme al .htaccess

    EDIT:
    Che senso ha questo codice?
    codice:
    if (theAgent.indexOf('it') != -1) {
        location.href = "xxx/404.php";
    }
    else {
        location.href = "xxx/404.php";
    }
    Qualsiasi cosa succeda redireziona su xxx/404.php
    Ultima modifica di Alhazred; 17-09-2016 a 12:02

  3. #3
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Di .htaccess ne basta uno solo nella root del sito (quindi nella cartella xxx), avrà effetto ovunque nelle sottocartelle.

    La regola da usare è
    codice:
    ErrorDocument 404 /xxx/404.php
    e 404.php deve stare nella cartella xxx assieme al .htaccess

    EDIT:
    Che senso ha questo codice?
    codice:
    if (theAgent.indexOf('it') != -1) {
        location.href = "xxx/404.php";
    }
    else {
        location.href = "xxx/404.php";
    }
    Qualsiasi cosa succeda redireziona su xxx/404.php
    Hehehe... te lo spiego subito il significato!

    Se digito:

    www.miosito.it/xxy invece di www.miosito.it/xxx

    il file .htaccess non funziona!
    Più pratica in futuro...

  4. #4
    Vedo che la discussione è stata spostata, grazie Alhazred. Il problema comunque è ancora presente. Con il redirect la cosa funziona ma i css e le immagini non vengono caricate.
    Più pratica in futuro...

  5. #5
    Forse la tecnologia Apache non lo permette... ci sono novità?
    ciao
    Più pratica in futuro...

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Quote Originariamente inviata da giannino1995 Visualizza il messaggio
    Hehehe... te lo spiego subito il significato!

    Se digito:

    www.miosito.it/xxy invece di www.miosito.it/xxx

    il file .htaccess non funziona!
    Ti rendi conto che la tua risposta non ha niente a che vedere con la domanda?

    Quel pezzo di codice dice:
    codice:
    // se nella stringa theAgent è presente "it"
    if (theAgent.indexOf('it') != -1) {
        // reindirizza a xxx/404.php
        location.href = "xxx/404.php";
    }
    else { // altrimenti se "it" non viene trovato
        // reindirizza su xxx/404.php
        location.href = "xxx/404.php";
    }
    Traducendo: "succeda quel che succeda, vai su xxx/404.php"
    Sia che trovi "it" o che non lo trovi, reindirizzi sulla stessa pagina, quindi quell'if/else a che serve?

  7. #7
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Quote Originariamente inviata da giannino1995 Visualizza il messaggio
    Forse la tecnologia Apache non lo permette... ci sono novità?
    ciao
    Come al solito hai una gran confusione in testa, ti butti in mille cose senza conoscerne mezza.
    Studia giannino, prima studia, bene e piano piano, perché non ci stai capendo niente.

  8. #8
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Come al solito hai una gran confusione in testa, ti butti in mille cose senza conoscerne mezza.
    Studia giannino, prima studia, bene e piano piano, perché non ci stai capendo niente.
    Il codice che leggi, nel mio progetto ha un motivo di esistere, in forma leggermente diversa ovviamente, come tu giustamente hai intuito e non centra nulla con questo discorso dell'.htaccess come tu giustamente ribadisci ma l'ho inserito per evitare che per qualche strana ragione fosse la causa del mio problema.

    Comunque nonostante la mia ignoranza ho risolto il problema quindi non ha più motivo parlarne.
    Più pratica in futuro...

  9. #9
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Quote Originariamente inviata da giannino1995 Visualizza il messaggio
    ...
    Comunque nonostante la mia ignoranza ho risolto il problema quindi non ha più motivo parlarne.
    Caspita, ogni volta che ti dico così trovi la soluzione, te lo dovrei dire più spesso allora.
    Comunque la situazione non cambia, fai un gran casino, il fatto che poi le cose funzionino (se realmente funzionano) non vuol dire che siano fatte bene e che tu non debba cambiare l'approccio se non vuoi restare lo smanettone da copia/incolla/chiedo l'aiuto da casa..

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2015
    Messaggi
    3
    Salve, avrei un problema con un rewrite degli url con il file htaccess, posso scrivere qui o devo aprire un nuovo topic?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.