2013-06-18 7 views
12

utilizzo XAMPP ma non riesco a utilizzare il file .htaccess nell'host locale. Sto provando così tante volte. Lavorando online bene. ma host locale che mostra [L'URL richiesto non è stato trovato su questo server].htaccess non funziona su localhost con XAMPP

mia cartella principale è reale

localhost/acre/real/property_available.php 
localhost/acre/real/properties 


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

prega

+0

Localhost è un sistema Windows o un altro? Utilizzando un host virtuale su server o macchina dedicata? Httpd.conf va bene anche su localhost (cioè tutti gli altri cfg)? Qualche dato di registro degli errori registrato su localhost? Verifica che le informazioni sul percorso siano corrette (/prop....php)? –

+0

sto usando windows XP – acre

+0

Hai abilitato mod_rewrite e .htaccess? Qual è il tuo DocumentRoot? La cartella reale – anubhava

risposta

5

Senza vedere il vostro sistema è difficile dire cosa c'è che non va, ma cercare il seguente (risposta di commento se questi non ha funzionato CON messaggi di errore del registro)

[ARRESTARE l'istanza del server Apache. Assicurarsi che non è in esecuzione!]

1) spostare server Apache/installare in una cartella che non ha nomi di file lunghi e gli spazi

2) Controllare httpd.conf nella cartella di installazione \ conf e cercare AccessFileName. Se si tratta di .htaccess cambiarlo in un file di Windows nome accetta (ad es conf.htaccess)

3) controllare due volte che il file .htaccess viene letto: aggiungere un po 'di immondizia non interpretabile ad esso e avviare il server: si dovrebbe ottenere un errore . 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, drive/percorso disponibile -e nessun percorso di cartella lungo e nomi di file-)
STOP di nuovo Apache, quindi vai su:
4) Se si dispone di IIS anche sul vostro sistema, fermarlo (disinstallarlo anche se potete) da services.msc

5) Aggiungere il seguente alla parte superiore del vostro file .htaccess valida:
RewriteEngine on
RewriteLog "/path/logs/rewrite.log" #make percorso sicuro è lì!
RewriteLogLevel 9

6) Svuotare il [apache] \ logs cartella (se si utilizza un'altra cartella, quindi che uno :)

7) Controllare le seguenti voci sono impostate e corretta:
applicazione Azione/x -httpd-php "c: /your-php5-path/php-cgi.exe"
LoadModule php5_module "c: /your-php5-path/php5apache2.dll" moduli
LoadModule rewrite_module/mod_rewrite.so
Evita anche i nomi di percorsi lunghi e gli spazi nei nomi delle cartelle per l'installazione di phpX!

8) di avvio del server apache

Si può fare tutti i passaggi sopra o andare uno per uno, la vostra chiamata. Ma alla fine della giornata assicurati di aver provato tutto sopra!
Se il sistema soffia ancora in piedi e non si può risolvere il problema, copiare il messaggio di errore & pasta (s) dalla cartella di registro per ulteriore assistenza

32

appena avuto un problema simile

risolto facendo il check-in httpd.conf

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 a causa a nessun sopralluogo consentito.

+0

Anche io ho questo problema ma non riesco a trovare il file http.conf da nessuna parte. Dovrei averne sicuramente uno? – RGriffiths

+0

Penso che dovresti come creato durante un'installazione predefinita. Nota che è httpd.conf – TimP

+0

Grazie - trovato. Accesso tramite il pannello di controllo Xampp. Stavo cercando c:/..... percorso ecc. – RGriffiths

6

Prova

<IfModule mod_rewrite.so> 
... 
... 
... 
</IfModule> 

invece di <IfModule mod_rewrite.c>

+0

Mi hai salvato grazie amico :) –

15

In conf/extra/httpd-vhosts.conf, aggiungere la riga AllowOverride All per tutti i siti che si stanno avendo problemi con

<VirtualHost example.site:80> 
    # rest of the stuff 
    <Directory "c:\Projects\example.site"> 
     Require all granted 
     AllowOverride All <-----This line is required 
    </Directory> 
</VirtualHost> 
+0

Questo ha risolto il mio problema .htaccess in un host virtuale. Non ho visto questa soluzione menzionata altrove. Grazie! – nunzabar

+0

Questo ha funzionato perfettamente per me, grazie! –

0

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"

+1

Puoi sempre creare qualsiasi file che inizia con un punto in windows aggiungendo un punto al nome del file ... Quindi crea il file come '.htaccess' e windows rimuoverà il periodo aggiunto e finirai con' .htaccess ' – Precastic