2013-07-17 15 views
9

Ho un problema: Voglio impostare PHP e htaccess per creare sottodomini dinamici. E non riesco a capire come. Attualmente il mio URL appare così:Come creare sottodominio dinamico usando PHP e htaccess?

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

ho bisogno di simile a questa:

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

so che può essere fatto, ma non so una soluzione come farlo. È molto importante per me con le funzioni $ _GET [] leggere il parametro nell'URL.

Il problema è che gli utenti del mio sito fanno il loro sito web e ottengono automaticamente un dominio (sottodominio) gratuito. Questo dovrebbe essere automatico.

Grazie!

risposta

14

Non si può fare sottodomini dinamici con .htaccess

Sarà necessario configurare l'host virtuale apache di accettare le richieste di domini multipli

Vedi l'Apache documentation - Using Name Based Virtual Hosts

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

Aggiunta del sottodominio jolly *.example.com, l'applicazione PHP riceverà tutte le richieste per qualsiasi dominio inferiore a example.com , Cioè garbage.example.com, busted.example.com, llama.example.com, ecc

Creating Wildcard Sub Domain Using Apache VirtualHost

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

Apache default virtual host for multiple domains

A questo punto, l'applicazione dovrà determinare la validità del sottodominio e visualizzare l'errore appropriato per sottosistemi sconosciuti

Da lì, analizzare il dominio per mike.

+2

Che dire semplicemente utilizzando alias server per ogni sottodominio? – PassKit

+0

Sì, ma è ancora vhost config, non '.htaccess' – user20232359723568423357842364

+0

** Il problema è che gli utenti del mio sito creano il proprio sito Web e ottengono automaticamente un sottodominio gratuito. Questo dovrebbe essere automatico. ** –

2

OF COURSE è possibile interpretare sottodomini dinamici con htaccess. La seguente regola risolverà il problema.

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] 

così chiunque si rechino

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

vedrà il contenuto di

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

Parlami di qualcosa, devo configurare apache per questo? –

+0

No, non è necessaria alcuna configurazione di Apache. – tormuto

Problemi correlati