.htaccess non funziona su localhost con XAMPP

sto usando XAMPP ma non sono in grado di usare il file .htaccess sull’host locale. Sto provando così tante volte .. Lavorando online bene. ma host locale che mostra [L’URL richiesto non è stato trovato su questo server]

La mia cartella principale è reale

localhost/acre/real/property_available.php localhost/acre/real/properties  RewriteEngine On RewriteBase /acre/real/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^properties$ /property_available.php/$1 [NC,QSA]  

per favore

Ho appena avuto un problema simile

Risolto consultando httpd.conf

  # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride All < --- make sure this is not set to "None" 

Vale la pena tenere a mente che ho provato (dalla risposta di Mark) il "mettere la spazzatura nel .htaccess" che ha causato un errore del server - ma anche se veniva letto, non veniva applicato perché non erano consentiti gli override.

In conf / extra / httpd-vhosts.conf, aggiungi la riga AllowOverride All per tutti i siti web con cui hai problemi

  # rest of the stuff  Require all granted AllowOverride All < -----This line is required   

Provare

  ... ... ...  

invece di

Senza vedere il tuo sistema è difficile dire cosa c’è che non va, ma prova quanto segue (risposta ai commenti se questi non funzionassero CON i messaggi di errore del registro)

[FERMA l’istanza del server Apache. Assicurati che non sia in esecuzione!]

1) sposta apache server / install in una cartella che non ha nomi di file lunghi e spazi

2) controlla httpd.conf nella cartella install \ conf e cerca AccessFileName . Se è .htaccess cambialo in un nome file che windows accetta (es. Conf.htaccess )

3) verifica che il file htaccess venga letto: aggiungi del cestino non interpretabile e avvia il server: dovresti ricevere un errore 500 . Se non lo fai, il file non viene letto, visita nuovamente il file httpd.conf (se sembra ok, controlla se questo è l’unico file che definisce htaccess e la sua posizione e lo fa in un unico posto – solo nel file- ; controlla anche se i file httpd.conf e htaccess sono accessibili: non crittografati, i diritti di accesso ai file non sono limitati, unità / percorso disponibile -e nessun percorso di cartella lungo e nomi di file-)
ARRESTARE nuovamente Apache, quindi proseguire:
4) Se sul sistema è presente anche IIS, interrompilo (disinstalla anche se è ansible) da services.msc

5) Aggiungi quanto segue all’inizio del tuo file htaccess valido:
RewriteEngine On
RewriteLog “/path/logs/rewrite.log” #make percorso sicuro è lì!
RewriteLogLevel 9

6) Svuota la cartella [apache] \ logs (se usi un’altra cartella, quindi quella 🙂

7) Verificare che le voci seguenti siano impostate e corrette:
Applicazione di azione / x-httpd-php “c: /your-php5-path/php-cgi.exe”
LoadModule php5_module “c: /your-php5-path/php5apache2.dll”
LoadModule rewrite_module modules / mod_rewrite.so
Evita anche i nomi di percorsi lunghi e gli spazi nei nomi delle cartelle per l’installazione di phpX!

8) START server Apache

Puoi fare tutti i passaggi sopra o andare uno alla volta, la tua chiamata. Ma alla fine della giornata assicurati di aver provato tutto sopra!
Se il sistema continua a esplodere e non è ansible risolverlo, copia e incolla i messaggi di errore dalla cartella di registro per ulteriore assistenza

Ho avuto un problema simile. Ma il problema era nel nome del file ‘.htaccess’, perché Windows non permette al nome del file di iniziare con un “.”, La soluzione è stata rinominare il file con un comando CMD. “rinomina c: \ xampp \ htdocs \ htaccess.txt .htaccess”