2008-09-12 13 views
5

Ich habe eine Platzhalter-Subdomain aktiviert und dynamisch die URL analysieren, indem Sie es unverändert an meine index.php (ex. somecity.domain.com) übergeben.Wildcard Subdomain Exceptions

Nun möchte ich ein paar Subdomains erstellen, die statisch sind, wo ich verschiedene Anwendungen installieren kann und nicht mit meinem aktuellen (z. B. blog.domain.com).

Mein .htaccess zur Zeit liest:

RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 

Kann ich diese .htaccess zu erreichen manipulieren, was ich brauche? Kann es durch Apache gemacht werden?

Antwort

0

Sie müssen Apache für diese statischen Subdomains konfigurieren. Die "Catch-All" -Seite wird als Standard-Site konfiguriert, so dass man die anderen abfangen kann.

0

Ich bin mir nicht sicher, ob ich vollständig verstehe, was Sie erreichen müssen, aber es könnte hilfreich sein, virtuelle Domänen in Ihrer Apache-Konfigurationsdatei einzurichten. Sie können sie Ordnern auf dem Laufwerk zuordnen, auf denen verschiedene Anwendungen installiert sind. Jede virtuelle Domäne wird ähnlich wie ein Stammverzeichnis behandelt. Ich habe meine Entwicklungsumgebung Setup lokal auf meinem Windows-Rechner viel wie folgt aus:

NameVirtualHost *:80 

# Begin virtual host directives. 

<VirtualHost *:80> 

# myblog.com virtual host. 

ServerAdmin [email protected] 
DocumentRoot "c:/apache_www/myblog.com/www" 
ServerName myblog.com 
ServerAlias *.myblog.com 
ErrorLog "c:/apache_www/myblog.com/logs/log" 
ScriptAlias /cgi-bin/ "c:/apache_www/myblog.com/cgi-bin/" 

<Directory "c:/apache_www/myblog.com/www"> 
    Options Indexes FollowSymLinks 
    AllowOverride All 
    Order allow,deny 
    Allow from all 
</Directory> 

</VirtualHost> 

Wenn dies nicht hilft auf dem richtigen Weg zu bekommen, dann versuchen Sie die Virtualhost Erforschung mit einer Lösung zu kommen. Ich finde, alles in einem .htaccess zu tun, um schwerfällig und schwer zu verwalten zu sein.

1

Ihr .htaccess tut nichts nützliches, da Apache wahrscheinlich mit DirectoryIndex index.php konfiguriert ist. Nun, es bewegt domain.com/a zu domain.com/index.php, aber ich bezweifle, dass es das ist, was Sie wollen.

Ihr Platzhalter virtualhost funktioniert, weil Sie wahrscheinlich ServerAlias ​​* .domain.com in Ihrer Konfiguration oder einen einzelnen virtuellen Host und DNS auf die Adresse Ihres Servers zeigen. (Wenn Sie einen einzelnen virtuellen Host haben, wird dieser für jede Anfrage angezeigt, und der erste aufgelistete virtuelle Host ist der Standard)

Sie müssen ein neues VirtualHosts für die statischen Domains erstellen und den Standard als, naja, den Standard belassen ein :)

Überprüfen Sie thesetutorials, die alles erklären.

0

Ich weiß nicht, ob Sie cpanel auf Ihrem Host installiert haben, aber ich konnte dies tun, indem Sie eine neue Subdomain '*' hinzufügen und dann den gesamten Datenverkehr an eine bestimmte Subdomain senden, ex * .domain. com -> master.domain.com. Dann können Sie in master.domain.com nachlesen, in welcher URL Sie sich befinden und von dort gehen.