8791 sujets

Développement web côté serveur, CMS

Bonjour
voici mon problème: je voudrais mettre en place une url rewriting très simple pour gérer des sous domaines sans que j'ai à les créer "pour de vrai"
Voici ce que je voudrais créer:
http://example.mywebsite.com => http://www.mywebsite.com/index.php?var=example

J'ai donc écris cette règle mais elle ne fonctionne pas (erreur: "impossible de trouver le serveur etc...")
RewriteCond %{HTTP_HOST} ^example\.mywebsite\.com [NC]
RewriteRule (.*) http://www.mywebsite.com/index.php?var=$1 [R=301,L]

Où se trouve mon erreur?

merci d'avance pour votre aide
Administrateur
bonjour,

cela est normal (d'après le message d'erreur) car la requête au serveur intervient avant la réécriture.

en gros le navigateur cherche à résoudre le nom du sous-domaine et à accéder au serveur http correspondant, avant qu'aucune règle ne soit applicable.

il faut donc gérer les sous domaines à la source, avec un wildcard par exemple :
ServerAlias *.domaine.com
Modifié par dew (26 Sep 2007 - 14:37)
dew a écrit :
en gros le navigateur cherche à résoudre le nom du sous-domaine et à accéder au serveur http correspondant, avant qu'aucune règle ne soit applicable.


Est-ce que ce n'est pas déjà à cela que sert la directive RewriteCond ?

dew a écrit :
il faut donc gérer les sous domaines à la source, avec un wildcard par exemple :
ServerAlias *.domaine.com

J'ai ajouté la ligne
ServerAlias monsite.com *.monsite.com
et j'ai la page d'erreur apache "Internal Server Error"

que faire?