Domanda

Ho inviato i miei file .htaccess ai server di produzione, ma non funzionano. Il riavvio sarebbe il prossimo passo o dovrei controllare qualcos'altro.

È stato utile?

Soluzione

Non è necessario un riavvio non per le modifiche a .htaccess. Qualcos'altro non va.

Assicurati che il tuo .htaccess includa la dichiarazione

  

RewriteEngine su

che è richiesto anche se è presente anche in httpd.conf. Controlla anche che .htaccess sia leggibile dal processo httpd.
Controlla error_log - ti dirà di eventuali errori in .htaccess se è in uso. Inserire un errore di sintassi intenzionale in .htaccess è un buon controllo per assicurarsi che il file sia utilizzato - dovresti ottenere un errore 500 su qualsiasi pagina nella stessa directory.

Infine, puoi abilitare un registro di riscrittura usando comandi come i seguenti nel tuo httpd.conf:

  

RewriteLog " logs / rewritelog "

     

RewriteLogLevel 7

Il file di registro così generato ti fornirà i dettagli cruenti di quali regole di riscrittura corrispondono e come sono state gestite.

Altri suggerimenti

No :

  

Apache consente la gestione decentralizzata della configurazione tramite file speciali posizionati all'interno dell'albero web. I file speciali sono generalmente chiamati .htaccess , ma qualsiasi nome può essere specificato in AccessFileName ... Poiché i file .htaccess vengono letti su ogni richiesta, le modifiche apportate in questi file hanno effetto immediato ...

Dalla documentazione di Apache: Più comunemente, il problema è che AllowOverride non è impostato in modo tale da rispettare le direttive di configurazione. Assicurarsi di non disporre di AllowOverride None in vigore per l'ambito del file in questione. Un buon test per questo è quello di mettere spazzatura nel tuo file .htaccess e ricaricare. Se non viene generato un errore del server, è quasi certamente attivo AllowOverride None.

Solo se hai non aggiunto il modulo mod_rewrite ad Apache.

Devi solo riavviare Apache se modifichi qualsiasi Apache " .conf " file.

Ho lo stesso problema e sembra che i post di PiedPiper su AllowOverride siano stati di grande aiuto. Controlla il tuo file httpd.conf per " AllowOverride " e assicurati che sia impostato su Tutti.

In caso di riavvio .htaccess non è necessario se non funziona, è possibile che vi siano ragioni.

  • AllowOverride Non può essere impostato quale utente può impostare all'interno di httpd.conf o potrebbe essere necessario contattare l'amministratore del server.

  • Controlla il nome del file .htaccess dovrebbe essere .htaccess non htaccess.txt vedi qui per una guida su come crearne uno.

  • Prova a usare Opzioni -Indexes o nega tutto tipo di semplice direttiva per vedere se funziona o meno.

  • cancella ogni volta la cache del browser se si ha una regola per reindirizzamenti o simili se il reindirizzamento precedente viene memorizzato nella cache, sembra che le cose non funzionino.

Cosa c'è nel tuo .htaccess? RewriteRules? Verifica che mod_rewrite sia installato e abilitato.

Altre cose? Prova a impostare AllowOverride su "all" su quella directory.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top