kein .htaccess in /var/www

  • Hallo,
    in /var/kunden/webs/ funktionieren die .htaccess Dateien problemlos. Nur in /var/www bekomme ich es nicht hin. Kurioserweise startet Apache 2 nicht, wenn ein Fehler in der Datei ist. D.h. sie wird gelesen, aber nicht beachtet. Ich habe schon überall AllowOverride AuthConfig eingefügt, wo ich es gefunden habe, später auch mal mit All getestet. Aber es klappt nicht. Ich würde gerne die Verzeichnisse von syscp und phpmyadmin per .htaccess schützen. Jetzt sind sie erst mal nur umbenannt. Ich greife per domainname auf den Server zu, dieser ist nur als A-Record im DNS, nicht in den sites als vhost. Auch mit xxx.yourvserver.net funktioniert es nicht. Kann mir wer verraten, wo ich die Einstellungen dafür finde. Irgendwie finde ich die richtige Einstellung für /var/www nicht. Danke.

  • Ist denn für das Verzeichnis AllowOverride korrekt gesetzt?
    Edit: ich Dödel hab die entsprechende Zeile überlesen. :( Mein Fehler, Beitrag einfach ignorieren.

  • Ok, dann habe ich das irgendwie verwechselt. Aber ist dort AllowOverrite für /var/www richtig gesetzt?



    MfG Christian

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Zitat von killerbees19;5420

    Ok, dann habe ich das irgendwie verwechselt. Aber ist dort AllowOverrite für /var/www richtig gesetzt?



    MfG Christian


    Ich denke ja, das ist der inhalt der httpd.conf



    Ich habe mal deine httpd.conf verwendet, brachte auch kein Erfolg.

  • Dumme Frage einmal: Welchen Code versuchst du denn in den .htaccess Dateien zu verwenden? Bzw. wie merkst du, dass er den wirklich nicht annimmt? Sind die benötigten Apache Module auch geladen und aktiviert?



    MfG Christian

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Ich mache ein rewrite und will zusätzlich noch ein auth machen.
    Da das ganze unter /var/kunden/webs klappt, gehe ich davon aus, dass die Module schon richtig funktionieren. Ich lasse dort www.domainname.tld auf domainname.tdl umschreiben. Für /var/www will ich die syscp- und phpadminverzeichnisse jeweils auf https umschreiben.


    Apache Configuration
    RewriteCond %{HTTP_HOST} ^www\.domain\.de\/syscp$ [NC]
    RewriteRule ^(.*)$ https://domain.de/syscp$1 [R=301,L]
    RewriteCond %{HTTP_HOST} ^domain\.de\/syscp$ [NC]
    RewriteRule ^(.*)$ https://domain.de/syscp$1 [R=301,L]
  • RewriteEngine On hast aber schon noch wo darüber stehen, oder? Denn ohne dem werden deine Rewrite Regeln nicht funktionieren ;)



    MfG Christian

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Ja, das steht drin. Hiermit geht es leider nicht.

    Apache Configuration
    domain:/var/www/syscp# cat .htaccess
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^www\.domain\.de\/syscp$ [NC]
    RewriteCond %{HTTP_HOST} ^domain\.de\/syscp$ [NC]
    RewriteRule ^(.*)$ https://domain.de/syscp$1 [R=301,L]
    domain:/var/www/syscp#


    Auch wenn ich die erste RewriteCond mit OR ergänze, klappt es nicht:

    Code
    RewriteCond %{HTTP_HOST} ^www\.domain\.de\/syscp$ [NC,OR]
  • Das ist mir vorhin nicht aufgefallen, aber du vergleichst hier den HTTP_HOST, da hat der Verzeichnisname dahinter nichts zu suchen. HTTP_HOST ist nur die Domain, die angefordert wird. Das kann nicht funktionieren. Da musst du etwas anderes für den Vergleich hernehmen: http://httpd.apache.org/docs/2…_rewrite.html#rewritecond



    MfG Christian

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Zitat von killerbees19;5436

    Das ist mir vorhin nicht aufgefallen, aber du vergleichst hier den HTTP_HOST, da hat der Verzeichnisname dahinter nichts zu suchen. HTTP_HOST ist nur die Domain, die angefordert wird. Das kann nicht funktionieren. Da musst du etwas anderes für den Vergleich hernehmen: http://httpd.apache.org/docs/2…_rewrite.html#rewritecond



    MfG Christian


    Oh mann, so weit hab ich nicht gedacht. Die .htaccess gilt ja auch für alle Unterverzeichnisse.
    So, diese .htaccess macht genau das, was ich will und zwar - das war mir wichtig - ohne dass es domainspeziefisch ist.


    Apache Configuration
    RewriteEngine On
    RewriteCond %{HTTP_HOST} !^www\.$ [NC]
    RewriteCond %{SERVER_PORT} !=443
    RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
    RewriteRule ^(.*)$ https://%1%{REQUEST_URI} [R=301,L]