2010-11-23 7 views
0

Je suis en train de mettre en place un sous-domaine comme suit:.htaccess en sous-domaine

http://subdomain.domain.com devrait charger ce qui est vraiment http://subdomain.domain.com/index.php/contest/

http://subdomain.domain.com/stepone devrait charger ce qui est vraiment http://subdomain.domain.com/index.php/contest/stepone

http://subdomain.domain.com/images/example.jpg devrait charger http://subdomain.domain.com/images/example.jpg comme Ordinaire.

Je l'avais tout mis en place et de travailler dans un sous-répertoire sur le domaine principal avant mais maintenant que j'essaye de le faire sur un sous-domaine, il a cessé de fonctionner.

Voici mon .htaccess:

RewriteEngine on 
RewriteCond $1 !^(index\.php|images|stylesheets|javascript|email|robots\.txt|test\.php|terms\.html) 
RewriteRule ^(.*)$ /index\.php/contest/$1 [L] 

S'il vous plaît aidez-moi!

+0

Quelle est l'erreur que vous obtenez? –

Répondre

1

Les règles de réécriture fonctionnent-elles? C'est à dire. avez-vous AllowOverride All ou quelque chose pour les hôtes virtuels, comme par:

Aussi, jetez un oeil ce commentaire par Gumbo sur cette question SO:

+0

Oui, mod_rewrite est activé. Cela fonctionne aussi si j'utilise ce qui suit: RewriteRule^(. *) $ Http://subdomain.domain.com/index\.php/contest/$1 [L] mais alors cela fonctionne comme une redirection et je me retrouve avec les URL longues dans la barre d'adresse. –

+0

Avez-vous essayé d'utiliser 'RewriteCond% {REQUEST_URI} ...' au lieu de 'RewriteCond $ 1 ...' selon le 2ème lien? –

1

Le fichier Drupal .htaccess est un bon exemple de mappage /? Q = query to/query, mais pas r éditer des choses qui fournissent une correspondance de fichier/répertoire explicite. Voici l'extrait pertinent de .htaccess de Drupal avec? Q = changé en index.php/contest /.

RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php/contest/$1 [L,QSA] 

Si vous devez restreindre le domaine afin qu'il ne redirige pas normalement, mais pas du seul domaine, insérer avant la RewriteRule ceci:

RewriteCond %{HTTP_HOST} ^subdomain\.domain\.com$ [NC] 
0

Je pense avoir trouvé la réponse à l'aide :

RewriteRule ^(.*)$ subdomain.domain.com/index\.php/contest/$1 [L, P] 

Y at-il une raison pour laquelle je ne devrais pas utiliser le proxy de force comme ça? (Est-ce que ça ralentit les choses?)

Merci pour vos réponses les gars.