2013-07-17 17 views
9

Ich habe ein Problem: Ich möchte PHP und Htaccess einrichten, um dynamische Subdomains zu machen. Und ich kann nicht herausfinden, wie. Derzeit meine URL sieht wie folgt aus:Wie erstellt man eine dynamische Subdomain mit PHP und htaccess?

www.exemple.com/index.php?subdomain=mike&component=content&id=26&title=people-love-apps 

Ich brauche es wie folgt aussehen:

www.mike.exemple.com/content/26/people-love-apps.html 

Ich weiß, es kann getan werden, aber ich weiß nicht, eine Lösung, wie es geht. Ist sehr wichtig für mich mit $ _GET [] Funktionen, Parameter in der URL zu lesen.

Das Problem ist, dass Benutzer auf meiner Website ihre Website erstellen und automatisch eine kostenlose Domäne (Sub-Domäne) erhalten. Dies sollte automatisch sein.

Danke!

Antwort

14

Sie können nicht machen dynamische Subdomains mit .htaccess

Sie müssen den Apache virtuellen Host zu akzeptieren Anfragen für mehrere Domänen

die Apache documentation - Using Name Based Virtual Hosts

<VirtualHost *:80> 
    ServerName www.example.com 
    ServerAlias example.com *.example.com 
    DocumentRoot /www/domain 
</VirtualHost> 

Hinzufügen der See konfigurieren Wildcard-Subdomain *.example.com, Ihre PHP-Anwendung erhält alle Anfragen für jede Domain unter example.com , Dh garbage.example.com, busted.example.com, llama.example.com usw.

Creating Wildcard Sub Domain Using Apache VirtualHost

Multiple Domains to One Virtual Host | Wildcard Host (shared hosting)?

Apache default virtual host for multiple domains

An diesem Punkt wird Ihre Anwendung hat die Gültigkeit der Sub-Domain und zeigt die entsprechenden Fehler zu bestimmen, die für unbekannte U-Boote

Von dort analysieren Sie die Domäne für mike.

+2

Was ist nur mit Server-Aliase für jede Sub-Domain Visting? – PassKit

+0

Ja, aber das ist immer noch vhost config, nicht '.htaccess' – user20232359723568423357842364

+0

** Das Problem ist, dass Benutzer auf meiner Website ihre Website erstellen und automatisch eine kostenlose Sub-Domain erhalten. Dies sollte automatisch sein. ** –

2

Natürlich können Sie dynamische Subdomains mit htaccess interpretieren. Die folgende Regel löst das Problem.

RewriteCond %{HTTP_HOST} www\.([^.]+)\.example\.com [NC] 
RewriteRule ^/content/([0-9]+)/([a-zA-Z0-9_\-])\.html /index.php?subdomain=%1&component=content&id=$1&title=$2 [L] 

so jemand

www.mike.exemple.com/content/26/people-love-apps.html 

werden sehen, den Inhalt von

www.exemple.com/index.php?subdomain=mike&component=content&id=26&title=people-love-apps 
+0

Erzähl mir etwas, muss ich Apache dafür konfigurieren? –

+0

Nein, Sie brauchen keine Apache-Konfiguration. – tormuto

Verwandte Themen