2016-07-18 8 views
1

Wir haben zwei Websites, die eine ist www.site1.com, die auf https umgeleitet werden müssen und die andere Website www.site2.com, die eine Subdomain von site1.com ist, sollte nicht umgeleitet werden zu https. Wir haben folgendes in die Datei httpd.conf geschrieben. Aber site2 wird immer noch auf https umgeleitet. Bitte helfenEine Site von der Weiterleitung an https in Apache ausschließen

<VirtualHost *:80> 
ServerName www.site1.com 
RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteCond %{HTTP_HOST} ^(www\.)?site1.com [NC] 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L] 
</VirtualHost> 
+0

Haben Sie etwas ähnliches schreiben (aber ohne all die 'Rewrite ...' Linien) für 'Server www.site2.com'? –

+0

Wir haben nichts extra für www.site2.com geschrieben –

Antwort

1

ServerName verwendet wird, um eindeutig einen virtuellen Host zu identifizieren, wenn namensbasierte virtuelle Hosts verwenden. Wenn kein passender namensbasierter virtueller Host gefunden wird, wird der erste aufgelistete virtuelle Host verwendet. Also, in Ihrem Fall, auch wenn Sie www.site2.com anfordern, wird die Konfiguration für www.site1.com verwendet, was zu einer Umleitung führt. Versuchen das Hinzufügen eines weiteren Abschnitt:

<VirtualHost *:80> 
ServerName www.site2.com 
</VirtualHost> 
+0

Vielen Dank für die Antwort. Es tut mir leid, dass ich in meinem Beitrag vergessen habe zu erwähnen, dass site2.com eine Subdomain von site1.com ist. Ich habe Ihre Lösung versucht, aber es hat nicht funktioniert –

+0

Ändert sich etwas, wenn Sie, in Ihrer .conf-Datei, ändern Sie die Reihenfolge der Blöcke (zuerst legte Site2, dann Haupt-Website)? –

+0

Wenn ich die Site2 zuerst setze, funktionieren beide Seiten nicht. Wenn ich site2 nach site1 setze, funktioniert site1, aber site2 funktioniert nicht. –

Verwandte Themen