2010-11-06 9 views
15

Ich habe eine .htaccess-Datei in einem Verzeichnis, aber es hat keine Wirkung (egal was ich hineinlege).Warum hat .htaccess keinen Effekt?

Meine apache2.conf Datei enthält

AccessFileName .htaccess 

<Directory "/var/www"> 
    AllowOverride All 
</Directory> 

Er sagte bereits AccessFileName .htaccess aber ich hinzugefügt das Verzeichnis selbst markieren, so dass ich bin mir nicht sicher, ob es richtig ist.

Vielen Dank für weitere Beratung und Anfragen für weitere Informationen.

Mein .htaccess Inhalt (vorerst)

Options +FollowSymlinks 
RewriteEngine on 

RewriteRule .* page.php?arg=$0 
+0

versuchen Sie, etwas falsches Zeug in .htaccess zu setzen und auf das Verzeichnis zuzugreifen, auf das es angewendet wird - wenn Sie beim Zugriff auf das Verzeichnis 500 erhalten, wissen Sie zumindest, dass Ihr .htaccess geparst wird. Wo platzierst du es? – Anon

+0

Es befindet sich in dem Verzeichnis, auf das ich zugreife (in diesem Fall/var/www/avesta /). Ich habe bereits viele Fälschungen in der .htaccess-Datei platziert. Ich weiß, dass es nicht geparst wird :) – Hubro

Antwort

19

Sie sind auf Debian, nach Ihrem Tags. Die Standard-Site, zumindest auf Lenny in der Standardkonfiguration von apache2, ist in/etc/apache2/sites-available/000-default definiert. Dieser Standardwert lautet AllowOverride None im Abschnitt für das Verzeichnis/var/www. Also könnte das Ihre apache2.conf überschreiben.

Natürlich müssen Sie sicherstellen, dass die Website aktiviert ist. Wenn/etc/apache2/sites-enabled/000-default vorhanden ist und ein Symlink auf/etc/apache2/sites-available/000-default verweist, ist die Site aktiviert. Die kanonische Möglichkeit, eine solche Site zu aktivieren, ist als Root a2ensite 000-default.

Endlich, wenn Sie Zugriff auf die Hauptkonfiguration haben, sollten Sie aus Leistungsgründen Ihre Site mit der Hauptkonfiguration (oder den Site-Konfigurationen in/etc/apache2/sites-available) und nicht mit .htaccess konfigurieren . Weitere Informationen finden Sie unter http://httpd.apache.org/docs/2.2/howto/htaccess.html.

+0

Danke, habe ich 'AllowOverride' auf Alle in 000-default geändert. Jetzt bekomme ich einen internen Serverfehler, auch ohne irgendwelche Umschreibungsargumente. Irgendwelche Ideen? (.htaccess enthält jetzt nur noch 'Optionen + FollowSymlinks' und' RewriteEngine on') – Hubro

+0

Es gibt mehrere Gründe, die passieren könnten. Haben Sie denselben Fehler, wenn Sie .htaccess insgesamt löschen? Beachten Sie auch, dass Sie Apache neu laden müssen, um die neue Konfiguration zu lesen. Ich starte normalerweise neu: als root, /etc/init.d/apache2 neustart. Aber "Reload" statt "Neustart" sollte auch funktionieren. – Andrew

+0

Ich habe Apache neu gestartet, ja. Es funktioniert mit einer leeren .htaccess Datei, aber nicht sobald ich 'RewriteEnging on' hinzufüge – Hubro

Verwandte Themen