Frage

Ich habe das Netz gesucht und so und ich kann mich nicht durch dieses Problem umgehen.

Wir haben ein paar Subdomains und ein paar engagierte Server. Ein Server hat eine doppelte Taste als Ausgabeverfolgung und Zielseite. Problem ist, dass die Wildcard -Landing -Seite Sie manchmal nicht zur richtigen virtuellen Host -Seite führt. Ich habe mir Wildcards angesehen, aber sie scheinen besonders breit zu sein.

Unser Szenario ist Folgendes:

-www.askia.com ist die Hauptlande. Eine nicht existierende (Wildcard) Subdomain sollte hier immer landen.
-dev.askia.com ist die technische Support- und Ausgabe -Site. Es hat einige mod_rewrites für https. Es hat eine Weile gedauert, aber ich habe es zum Laufen gebracht und ich würde es lieber nicht brechen.
-www.askia.fr ist unsere französische Seite. Anstatt dich zu bringen www.askia.com Es führt Sie zum dev.askia.com.
-www.askia.co.uk sollte dich zu bringen www.askia.com Aber es geht zu dev.askia.com

Ich bin mir nicht ganz sicher, wo ich versuchen sollte, die Lösung zu beheben. Sollte ich etwas im CNAME tun? In der VirtualHosts -Konfigurationsdatei oder in der Datei mod_rewrite.

War es hilfreich?

Lösung

Probieren Sie diese Regeln aus:

RewriteCond %{HTTP_HOST} ^dev\.
RewriteCond %{HTTP_HOST} !^dev\.askia\.com$
RewriteRule ^ http://dev.askia.com%{REQUEST_URI} [L,R=301]

RewriteCond %{HTTP_HOST} !^www\.askia\.com$
RewriteCond %{HTTP_HOST} !^dev\.askia\.com$
RewriteRule ^ http://www.askia.com%{REQUEST_URI} [L,R=301]

Die erste Regel leitet jede Anfrage an einen Host weiter, beginnend mit dev. aber nicht dev.askia.com zu www.askia.com. Und die zweite Regel leiten Anfragen an einen anderen Host ab als www.askia.com und dev.askia.com zu www.askia.com. Also sollte jede Anfrage entweder gehen dev.askia.com oder www.askia.com.

Andere Tipps

Wenn virtuelle Hosts in Apache verwendet werden, ist der erste aufgelistete Hosted immer die Standardeinstellung für Nichtübereinstimmungen.

#default vhost
# any non-matches will land here

<VirtualHost  _default_:80>
ServerName www.askia.com:80
DocumentRoot /path/to/site

ErrorLog /path/ti/sites/logs/error_log

</VirtualHost>


# vhost #2 

<VirtualHost  _dev_Site_:443>
ServerName dev.askia.com:443
DocumentRoot /path/to/dev/site

ErrorLog /path/to/dev/sites/logs/error_log

#ssl details
SSLEngine on
SSLCipherSuite HIGH:MEDIUM
SSLCertificateFile /location/securti.crt
SSLCertificateKeyFile /location/securti.key


#any rewrite rules to apply only to this (default) domain
# force SSL for instance..
RewriteRule .* - [F]
RewriteCond   %{SERVER_PORT}  !^443$
RewriteRule (.*) https://dev.askia.com/
</VirtualHost>

#etc, etc
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top