J'ai sous-domaine Wild Card, mais je ne sais pas juste mod_rewrite dans la mesure où cela est nécessaire pour écrire cela. Quelqu'un peut-il me dire comment faire autre chose que www et rien aller sur le site principal, mais tout sous-domaine autre que cela va à/script/index.php? Username = $ username?Utilisation de sous-domaines génériques avec réécriture mod?
Répondre
D'où vient la variable $ username? Supposons que l'URL du site principal soit http://www.example.com/main_site.php et que vous utilisiez ce contexte de répertoire externe (pas dans .htaccess ni dans une directive < Directory>). Si c'est dans .htaccess, supprimez le/(faites-le simplement main_site.php, par exemple). Je pense que cela ne fonctionnera pas tout de suite parce qu'il y a beaucoup de variables non claires (d'où vient le nom d'utilisateur ?, que faire pour le reste de la requête, le passer en paramètre ?, est-ce htaccess ou la configuration principale? ?), mais j'espère que vous aurez une idée:
#Turn on the rewrite engine
RewriteEngine On
#Check accessed domain, if it's either www.example.com or
RewriteCond %{HTTP_HOST} ^www.example.com$ [NC,OR]
#example.com
RewriteCond %{HTTP_HOST} ^example.com$ [NC]
#and the requested URL does not contain script you'll be accessing to avoid looping
RewriteCond %{REQUEST_URI} !main_site.php
#Then we tell that everything matching the above will go to main_site.php
RewriteRule^/main_site.php [L]
#If the request is not asking for main_site.php nor index.php
RewriteCond %{REQUEST_URI} !main_site.php
RewriteCond %{REQUEST_URI} !index.php
#We go to /script/index.php (username will be empty, becase we don't know
#where to get it from)
RewriteRule^/script/index.php?username=$username [L]
Le nom d'utilisateur provient du sous-domaine. – Darren22
Et si ce n'est rien (c'est-à-dire juste domain.com)? –
Voulez-vous dire "Quelqu'un peut-il me dire comment faire pour que www et rien ne va sur le site principal ..."? – TimB