.htaccess richtig verwenden
Schönen Nachmittag,
ich bin gerade dabei meinen Apache 2.2 Server unter Debian für eine .htaccess Datei zu konfigurieren.
Zur Zeit konfiguriere ich die .htaccess für eine Subdomain, für meine Domain hat bereits alles funktioniert, ich habe zwar die Einstellungen von der funktionierenden Domain 1:1 für die Subdomain übernommen aber es hat leider nicht funktioniert.
Und zwar sieht meine Verzeichnisstruktur am Webserver so aus:
/var/www/site1/
/var/www/site2/
/var/www/site3/
Für jeden dieser Verzeichnisse existiert eine Subdomain.
Das Verzeichnis /var/www/site1/ erreiche ich über die Domain http://www.example.com. Ich habe dazu folgende Datei angelegt:
/etc/apache2/sites-available/site1
Die Datei sieht so aus:
Die Datei habe ich in /etc/apache2/sites-available/default mit "Include" eingebunden.
Und für jedes Verzeichnis das ich in site1/ habe muss ich in der httpd.conf einen Eintrag wie diesen erstellen:
httpd.conf
Soweit funktioniert das ganze ja! Etwas nervig ist natürlich das ich für jedes neue Verzeichnis (und somit für jede neue .htaccess) einen neuen Eintrag in der httpd.conf machen muss.
?Gibt es eine Möglichkeit um einmal anzugeben das eine .htaccess am Server erlaubt ist, und das dann für den gesamten Webserver genügt?
Ja das ganze funktioniert ja, aber jetzt möchte ich in /var/www/site2 auch eine .htaccess Datei aktivieren. Die .htaccess Datei habe ich copypasted von einer funktionierenden, an der darf es also nicht liegen.
Meine /etc/apache2/sites-available/site2 hat folgenden Inhalt:
Auch hier wurde wieder ein Eintrag in der httpd.conf gemacht:
Der .htaccess habe ich chmod 644 gegeben.
Meine Fragen an der Stelle:
Warum funktioniert die .htaccess trotzdem noch nicht richtig?
Was ist der genaue Unterschied zwischen ../sites-available/default und httpd.conf, es gibt Einträge die in beiden Files ähnlich sind?
Ich hoffe ich konnte mein Problem genau genug schildern.
Liebe Grüße
ich bin gerade dabei meinen Apache 2.2 Server unter Debian für eine .htaccess Datei zu konfigurieren.
Zur Zeit konfiguriere ich die .htaccess für eine Subdomain, für meine Domain hat bereits alles funktioniert, ich habe zwar die Einstellungen von der funktionierenden Domain 1:1 für die Subdomain übernommen aber es hat leider nicht funktioniert.
Und zwar sieht meine Verzeichnisstruktur am Webserver so aus:
/var/www/site1/
/var/www/site2/
/var/www/site3/
Für jeden dieser Verzeichnisse existiert eine Subdomain.
Das Verzeichnis /var/www/site1/ erreiche ich über die Domain http://www.example.com. Ich habe dazu folgende Datei angelegt:
/etc/apache2/sites-available/site1
Die Datei sieht so aus:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/site1/
<Directory />
Options -All FollowSymLinks MultiViews
AllowOverride AuthConfig
</Directory>
<Directory /var/www/site1/>
Options -All FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
DirectoryIndex index.html index.htm index.php
ServerSignature On
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options -All FollowSymLinks MultiViews
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
Die Datei habe ich in /etc/apache2/sites-available/default mit "Include" eingebunden.
Und für jedes Verzeichnis das ich in site1/ habe muss ich in der httpd.conf einen Eintrag wie diesen erstellen:
httpd.conf
DirectoryIndex index.html index.htm index.php
Options -All FollowSymLinks MultiViews
ServerSignature off
<Directory /var/www/site1/>
Options None
AllowOverride All
</Directory>
<Directory /var/www/site1/test>
Options None
AllowOverride All
</Directory>
AccessFileName .htaccess
<Files ~ "^\.ht">
Order allow,deny
</Files>
Soweit funktioniert das ganze ja! Etwas nervig ist natürlich das ich für jedes neue Verzeichnis (und somit für jede neue .htaccess) einen neuen Eintrag in der httpd.conf machen muss.
?Gibt es eine Möglichkeit um einmal anzugeben das eine .htaccess am Server erlaubt ist, und das dann für den gesamten Webserver genügt?
Ja das ganze funktioniert ja, aber jetzt möchte ich in /var/www/site2 auch eine .htaccess Datei aktivieren. Die .htaccess Datei habe ich copypasted von einer funktionierenden, an der darf es also nicht liegen.
Meine /etc/apache2/sites-available/site2 hat folgenden Inhalt:
<VirtualHost *:80>
ServerName site2.example.com
ServerAlias site2.example.com
DocumentRoot /var/www/site2
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/blog>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
</VirtualHost>
Auch hier wurde wieder ein Eintrag in der httpd.conf gemacht:
<Directory /var/www/site2/test>
Options None
AllowOverride All
</Directory>
Der .htaccess habe ich chmod 644 gegeben.
Meine Fragen an der Stelle:
Warum funktioniert die .htaccess trotzdem noch nicht richtig?
Was ist der genaue Unterschied zwischen ../sites-available/default und httpd.conf, es gibt Einträge die in beiden Files ähnlich sind?
Ich hoffe ich konnte mein Problem genau genug schildern.
Liebe Grüße
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 157059
Url: https://administrator.de/contentid/157059
Ausgedruckt am: 25.11.2024 um 08:11 Uhr
1 Kommentar