Visualizzazione risultati 1 fino 8 di 8

Discussione: .htaccess rinominato in htaccess.txt senza motivo apparente

  1. #1
    Guest

    Predefinito .htaccess rinominato in htaccess.txt senza motivo apparente

    Da qualche giorno, nonostante varie prove e vari tentativi, ogni tanto, senza motivo apparente, i file .htaccess vengono rinominati in htaccess.txt a seguito di un errore 500.

    Ecco la mia situazione: ho installato drupal in /php5/drupal/, però volevo avere URL decenti e ho attivato .htaccess (meno di un mese fa, quando ancora costava 1000 ac... se aspettavo un po' ). Ho fatto vari tentativi, usando varie combinazioni, ma ogni tanto .htaccess veniva rinominato.

    Nella situazione attuale ho due .htaccess: uno in /:
    Codice:
    RewriteEngine on
    RewriteBase /
    
    RewriteRule ^/*$ /php5/drupal/index.php [L,QSA]
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$  /php5/drupal/$1 [L,QSA]
    
    RewriteRule ^not_found.php$ /php5/drupal/?q=not_found [L,QSA]
    e uno in /php5/drupal/:
    Codice:
    RewriteEngine on
    RewriteBase /php5/drupal
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
    Tutto sembra funzionare, ma ogni tanto ricevo degli errori "500" e .htaccess viene rinominato. Ho notato che questo fatto capita più spesso quando devo inserire dati in un form: cliccando su "invia" ottengo l'errore 500, ma spesso basta aggiornare la pagina in modo da riinviare i dati e l'errore scompare. Non sono ancora riuscito a trovare un modo per riprodurre l'errore: spesso funziona tutto, ma qualche volta ricevo l'errore senza motivo apparente, e .htaccess viene rinominato.

    Non ho capito dov'è il problema, ma i .htaccess mi sembrano corretti. Potrebbe essere che l'errore 500 abbia altre cause? Però perché i .htaccess continuano ad essere rinominati?

  2. #2
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Hai attivato .htaccess nella sezione Risorse & Upgrades del pannello di AlterVista?
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  3. #3
    Guest

    Predefinito

    Si, il servizio htaccess è attivo, e a parte il problema che ho descritto funziona.

    Tra ieri e oggi ho visto l'errore 500 con rinomina di htaccess 2 volte. Entrambe le volte mi sono capitate al primo accesso, scrivendo il nome del sito sulla barra degli indirizzi. Però sembra che non sia capitato ad altri visitatori...

    Ho notato che l'errore 500 al primo accesso ogni tanto avviene anche su un altro sito che gestisco, sempre basato su drupal, ma su un altro hosting, ma lì non c'è la rinomina dell'htaccess...

  4. #4
    L'avatar di Gianluca
    Gianluca non è connesso Amministratore
    Data registrazione
    15-02-2001
    Messaggi
    18,035

    Predefinito

    stasera:

    è probabile che tale problema non sia legato all'htaccess ma sia un errore prodotto dal phpengine, che produce la rinomina dell'.htaccess

    Non c'è in questo momento una soluzione che ti si possa suggerire, si sta comunque verificando

    [edit]

    Prova ad impostare nel medesimo htaccess la direttiva

    Codice:
    ErrorDocument 500 "Internal server error, riprova tra poco"
    In alternativa

    Codice:
    SetEnv AV_HTACCESS_IGNORE500 1
    Ultima modifica di Gianluca : 06-01-2008 alle ore 14.07.46
    Gianluca

  5. #5
    Guest

    Predefinito

    Ho fatto delle prove, riattivando un modulo drupal (mass_contact) che non ha mai funzionato e mi ha sempre dato l'errore 500.

    Purtroppo ho provato con entrambi i codici, ma il problema persiste, e provando ad usare quel modulo produce l'errore 500 con rinomina dell'htaccess.

    Per ora ho aggirato il problema creando not_found.php in modo che quando .htaccess è attivo rimane nascosto, ma quando viene disattivato fa dei redirect verso le pagine che sarebbero state mostrate se ci fosse l'htaccess. In questo modo il sito continua ad essere visibile, ma non tutto funziona perfettamente (ad esempio non si riesce a fare il login).

    Sto pensando modificare not_found.php in modo che controlli se esiste ancora .htaccess, e ne caso lo ricrea automaticamente. Potrebbe andare?

  6. #6
    L'avatar di Gianluca
    Gianluca non è connesso Amministratore
    Data registrazione
    15-02-2001
    Messaggi
    18,035

    Predefinito

    Può essere una soluzione
    Gianluca

  7. #7
    Guest

    Predefinito

    Ho fatto alcune prove e adesso sembra funzionare tutto.

    Ho provato ad eliminare a mano gli htaccess ma questi si rigenerano grazie a not_found.php

    Poi ho prodotto un errore 500 con il modulo di cui sopra e mi ha dato ancora la rinomina dell'htaccess, ma la volta dopo il file si è rigenerato minimizzando i problemi.

    Per ora il problema è aggirato. Per la cronaca, ora l'htaccess nella root è questo:
    Codice:
    #Messaggio di errore 500 più amichevole, anche se non sempre appare
    ErrorDocument 500 "<h3>ERROR 500 - internal server error</h3>Probabilmente &egrave; un problema temporaneo, <a href='javascript:location.reload()'><strong>prova ad aggiornare la pagina</strong></a>"
    RewriteEngine on
    RewriteBase /
    
    #Se l'uri è composto da un numero qualsiasi di /, chiama l'index di drupal
    RewriteRule ^/*$ /php5/drupal/index.php [L,QSA]
    
    #Se php5/drupal/.htaccess è sparito e l'indirizzo chiamato non esiste, chiama not_found.php per rimetterlo a posto
    RewriteCond /membri/stasera/php5/drupal/.htaccess !-f
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$  /not_found.php?missing_document=$1 [L,QSA]
    
    #Se il file non esiste, fa un rewrite alla cartella di drupal
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$  /php5/drupal/$1 [L,QSA]
    
    #Se php5/drupal/.htaccess esiste nasconde not_found.php
    RewriteCond /membri/stasera/php5/drupal/.htaccess -f
    RewriteRule ^not_found.php$ /php5/drupal/?q=not_found [L,QSA]
    Invece l'htaccess di php5/drupal è rimasto come prima.

    Ora che il problema è aggirato, il mio sito è praticamente a posto e sono pronto a conquistare il web

  8. #8
    L'avatar di Gianluca
    Gianluca non è connesso Amministratore
    Data registrazione
    15-02-2001
    Messaggi
    18,035

    Predefinito

    Bene, allora buona fortuna !

    Comunque un post molto interessante
    Gianluca

Regole di scrittura

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