Ich habe mehrere Websites: example.com
, example1.com
und example2.com
. Alle verweisen auf den Ordner /public_html
meines Servers, der mein Apache-Stammordner ist.
Was muss ich meiner .htaccess
-Datei hinzufügen, um die http-Authentifizierung nur zu verwenden, wenn der Benutzer von example2.com
kommt? example.com
und example1.com
sollten KEINE Authentifizierung verwenden.
Ich weiß, ich brauche etwas wie
%Vor% Aber ich möchte nur ein Passwort verlangen, wenn der Benutzer example2.com
besucht.
Bearbeiten
Unter Verwendung eines in einer Antwort vorgeschlagenen Ansatzes habe ich folgendes in meiner .htaccess-Datei:
%Vor%Ich weiß, dass das mod_setenvif.c-Modul aktiviert ist (ich habe es mit einem & lt; IfModule & gt; -Block verifiziert), aber es scheint, dass "testauth" niemals definiert wird, weil mein Test überprüft werden muss (Weiterleitung zu index2.php) wird nicht ausgeführt (während es in meinem & lt; IfModule & gt; -Block ausgeführt wurde). Irgendwelche Ideen warum?
Wie wäre es mit etwas Ähnlichem in der Datei htaccess im Dokumentenstamm:
%Vor% Dies macht es so, dass eine Authentifizierung nicht erforderlich ist, es sei denn, der Host endet mit example2.com
(z. B. www.example2.com
, dev.example2.com
usw.). Der Ausdruck kann bei Bedarf angepasst werden. Jeder andere Host bewirkt, dass require_auth
var nicht gesetzt wird und die Authentifizierung nicht erforderlich ist. Wenn dies andersherum sein muss, könnte die letzte Zeile geändert werden in: Allow from env=require_auth
, Entfernen der ! .
Hier ist eine Empfehlung:
Erstellen Sie eine Datei namens common.conf
und speichern Sie sie an einem zugänglichen Ort
Platzieren Sie in dieser Datei die Apache-Konfiguration für alle Sites (Hosts).
Das Entfernen des aktuellen einzelnen VirtualHost-Eintrags und Ersetzen durch VirtualHost-Einträge wie folgt:
%Vor%Ich frage mich, ob DanH von einem Ansatz unterstützt werden würde, der den Zugriff per IP-Adresse erlaubt?
Etwas wie
%Vor%und dann in deinem Drupal "container"
%Vor%sollte den Trick machen.
Jeder Host, der "live" ist, sollte auf "AllowMeIn" konfiguriert werden, oder Sie müssen von einer bekannten IP-Adresse kommen (dh Sie und andere Entwickler).
Sie sollten per-vhost-Konfiguration nicht in .htaccess einfügen. Setzen Sie stattdessen den Konfigurationsblock in den VirtualHost-Block in der richtigen Konfigurationsdatei in /etc/apache/sites-enabled/*
.
Tags und Links authentication apache .htaccess