J'ai un site qui sert un certain contenu basé sur le sous-domaine. Donc, c'est le même ensemble de fichiers, et peut-être l'en-tête et certaines informations dans les pages de site modifient basées sur le sous-domaine. P>
Je dois également avoir une authentification HTPassword différente basée sur le sous-domaine, mais je ne trouve pas d'informations sur la manière de faire un type si / puis de la chose dans HTACCESS. P>
Fondamentalement ce dont j'ai besoin, c'est ceci: p>
si sous-domaine = 'abc' Utilisez ce fichier hTPassword p>
si sous-domaine = 'def' Utilisez ce fichier hTPassword p>
peut-il être fait? p>
5 Réponses :
Quel WebServer utilisez-vous? P>
Une technique pouvant fonctionner sur plusieurs serveurs différents (cela fonctionne certainement dans Apache) consiste à avoir un fichier .htaccess différent dans le répertoire correspondant à chaque sous-domaine. P>
Selon la question postée, c'est le même ensemble de fichiers, il n'y a donc pas de répertoires distincts.
C'est un serveur Win 2003 utilisant IIS avec Iispassword et Isapirewrite3. Votre solution ne fonctionnera pas car il n'y a pas de jeu de fichiers physiquement différent dans le système de fichiers pour les sous-domaines - tous les sous-domaines indiquent le même ensemble de fichiers et le PHP évalue le sous-domaine et affiche des données différentes en fonction de cela. Merci..
Si c'était moi (et je n'ai pas pensé faire cela auparavant) je voudrais:
donc: p> où p> utilisant p> ou similaire. Ensuite, utilisez mod_rewrite pour rediriger (en interne) sur la racine du site de droite. Je pense em> mod_rewrite est exécuté avant que .HTtaccess est chargé. P> Cela signifie que vous servez efficacement les mêmes fichiers de site avec une autre .htaccess en fonction du sous-domaine. P> < p> J'espère que cela aide, un peu de hack. p> serait intéressé à voir si quelque chose de mieux existe. P> p>
Vous ne pouvez pas utiliser si / else car hAccess n'est pas une liste d'instructions. Mais si vous utilisez un bloc conditionnel comme Vous pouvez également mettre un fichier .htaccess un niveau supérieur au-dessus des fichiers et utiliser Ce serait donc le répertoire au-dessus de la (s) racine (s) Web:
.htaccess
SitesFiles
Sous-domaine1 (Symlink à SiteFiles)
Sous-domaine2 (Symlink à SiteFiles)
... p>
Essayez quelque chose comme ceci:
SetEnvIf Host ^abc\. HOST_ABC SetEnvIf Host ^dev\. HOST_DEF <IfDefine HOST_ABC> AuthUserFile ⦠</IfDefine> <IfDefine HOST_DEF> AuthUserFile ⦠</IfDefine>
Cela semble super - j'ai fini par avoir à construire une simple authentification à PHP en raison de contraintes de temps, mais je voudrais essayer cela dans un environnement de test car il semble avoir un sens. Merci!
Aussi charmant que cela a l'air, cela n'a pas fonctionné pour moi. Voulez-vous réviser ce gumbo?
Vous pouvez utiliser pseudo d'autre avec une marque d'exclamation. Voir la deuxième directive dans l'exemple ci-dessous Memcache code> VS
! MEMCACHE CODE>:
<IfDefine MemCache>
LoadModule mem_cache_module modules/mod_mem_cache.so
</IfDefine>
<IfDefine !MemCache>
LoadModule cache_disk_module modules/mod_cache_disk.so
</IfDefine>