2010-10-07 5 views
2

J'ai beaucoup d'idées de google et stackoverflow - mais aucun de ceux-là était exactement ce que je cherche. Voici le scénarioHTACCESS problème- domaine vs sous-domaine

  1. J'ai acheté un espace d'hébergement auprès d'un fournisseur. Je devais fournir un nom de domaine (abc.com) comme domaine principal de cet espace d'hébergement.

  2. Ensuite, j'ai trouvé que je devais mettre tout le contenu pour ce domaine rimaire (abc.com) dans la racine du document directement. ce n'est pas un répertoire comme www/abc ou www/abc.com.

  3. Ensuite, j'ai googlé et trouvé beaucoup de solution .htaccess. J'ai choisi le de un

    RewriteEngine suivant Sur

    RewriteBase/

    RewriteCond% {HTTP_HOST} abc.com

    RewriteCond% {REQUEST_URI}! ^/Abc.com/(.*) [NC]

    RewriteRule^(. *) $ /abc.com/$1

  4. Je viens de coller au-dessus des lignes à la fin du fichier .htaccess existant (DEFA ult). Ça fonctionnait bien. J'ai utilisé le répertoire www/abc.com pour mon domaine abc.com à partir de là.

  5. Récemment, j'ai ajouté quelques sous-domaines (laissez xyz.abc.com) à mon domaine abc.com. Mais il se comporte étrangement avec moi. tous les sous-domaines recherchent son contenu sur abc.com/subdomain (par exemple abc.com/xyz.abc.com)

  6. Cette fois, je n'ai pas de solution sur google (je l'ai manqué).

Quelqu'un m'aider s'il vous plaît- je suis en mauvais état.

EDITED: Les lignes suivantes étaient dans WebRoot .htaccess depuis le début. Après que je l'ai ajouté des lignes supplémentaires comme mentionné ci-dessus (3,4)

# -FrontPage- 

IndexIgnore .htaccess */.??* *~ *# */HEADER* */README* */_vti* 

<Limit GET POST> 
order deny,allow 
deny from all 
allow from all 
</Limit> 
<Limit PUT DELETE> 
order deny,allow 
deny from all 
</Limit> 
AuthName abc.com 
AuthUserFile /home/abc/public_html/_vti_pvt/service.pwd 
AuthGroupFile /home/abc/public_html/_vti_pvt/service.grp\ 

ÉDITÉ DE NOUVEAU: Il y a quelques autres domaines (à l'exception du domaine principal abc.com) dans le même espace d'hébergement. Ces domaines ont des sous-domaines de travail. Mais le sous-domaine du domaine principal ne fonctionne pas comme expliqué ci-dessus.

+0

Comment avez-vous ajouter les sous-domaines dans la configuration du serveur web? Aussi, a le '.htacces' été modifié après avoir ajouté le subd? – methode

+0

@methode: quand j'ajoute un sous-programme, aucun changement ne vient en .htaccess – Sadat

+0

Okay. Les sous-domaines fonctionnent-ils? C'est à dire. Si vous allez sur xyz.abc.com, obtenez-vous la page attendue? Je pose cette question parce que certains serveurs Web (c'est-à-dire ceux qui sont gérés avec cPanel) sont configurés pour servir des sous-domaines à partir de sous-répertoires de la racine web, comme vous l'avez décrit. Considérant que dans votre chemin absolu vous avez/home/abc/public_html /, votre serveur est géré avec cPanel/WHM et donc le 'problème' que vous avez est en fait le comportement attendu. Je crois que votre meilleur pari serait d'interdire complètement l'accès à abc.com/xyz/abc.com ou simplement de le rediriger vers le sous-domaine. – methode

Répondre

3

changement

RewriteCond %{HTTP_HOST} abc.com 

à

RewriteCond %{HTTP_HOST} ^abc.com$ 

Maintenant, les règles ne correspondent pas à vos sous-domaines plus.

Mise à jour

# catch www.abc.com and abc.com (and wwwwwwwwwww.abc.com) 
RewriteCond %{HTTP_HOST} ^(w+\.)?abc\.com$ 
+0

merci beaucoup @toscho. Je vais vérifier ce soir et vous le faire savoir. – Sadat

+0

cela fonctionne bien sauf www.abc.com. quand je vais à www.abc.com, il montre le contenu du dossier (puisqu'il n'y a pas de fichier d'index). – Sadat

+0

J'ai ajouté un meilleur RewriteCondition pour correspondre au préfixe www. – fuxia