J'ai récemment rencontré un problème lors de la création de vhosts avec WampServer sur Windows. Mon application utilise des caractères spéciaux, notamment des umlauts, dans le domain name, et j'ai remarqué que lors de la création de vhosts, le caractère 'ö' est encodé de manière inattendue. voici un exemple generé dans le fichier drivers/etc/hosts :
127.0.0.1 xn--mbel-test-exemple-imb.com
au lieux de :
127.0.0.1 möbel-test-exemple.com
même chose dans le fichier httpd-vhosts.conf:
<VirtualHost *:80> ServerName xn--mbel-test-exemple-imb.de DocumentRoot "c:/wamp64/www/möbel-test-exemple.de" <Directory "c:/wamp64/www/möbel-test-exemple.de/"> Options +Indexes +Includes +FollowSymLinks +MultiViews AllowOverride All Require local </Directory> </VirtualHost>
J'ai vérifié les fichiers de configuration d'Apache, PHP et MySQL, en m'assurant que les encodages par défaut sont correctement configurés (UTF-8) et j'ai même rajouter :
AddDefaultCharset UTF-8
dans le fichier C:\wamp64\bin\apache\apache2.4.58\conf\httpd.conf.
Cependant, malgré tout ça, le domaine avec avec des 'ö' ne sont pas interprétées correctement.
Est-ce que quelqu'un aurait des conseils sur la manière de configurer correctement WampServer pour gérer les caractères spéciaux dans les URLs et les vhosts ? Y a-t-il des paramètres spécifiques que je devrais ajuster dans les fichiers de configuration ?
Il n'y a rien à modifier, rien à ajouter à la configuration de Wampserver et/ou d'Apache. Ce que vous constatez est normal !
Avez-vous remarqué que dans le menu Clic-Gauche -> Vos VirtualHost ou dans la page d'accueil Wampmanager, sous la rubrique Vos VirtulaHost, votre "nom de domaine" apparaît comme :
- Noms de domaine (ServerName est un nom de domaine) Le nom de domaine doit disposer d’un nombre de caractères compris entre 1 et 64 caractères, extension exclue. Il ne peut pas contenir d’espace. Les caractères autorisés sont les lettres de « a » à « z », les chiffres de « 0 » à « 9 » et le tiret « - ». Il est impossible de commencer ou de finir un nom de domaine par un tiret « - ». Le tiret « - » ne peut pas être présent en 3ème position et en 4ème position simultanément.
- Il est possible, sous certaines conditions, d'utiliser un nom de domaine internationalisé, avec des lettres accentuées et des caractères spéciaux. D'où le principe du protocole IDNA (Internationalized Domain Names in Applications, RFC 58903), d'où le préfixe xn--