Version complète: sur le forum Webmaster Hub : Rediriger vers 'www'...
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > Fichier .htaccess et réécriture d'URLs
Dudu
Salut

J'ai un NDD avec un fichier .htaccess à la racine qui redirige en 301 le contenu de -http://serveur.tld vers -http://www.serveur.tld

Copie de ce fichier:
CODE
RewriteEngine on
RewriteCond %{HTTP_HOST} !www.serveur.tld
RewriteRule ^(.*) http://www.serveur.tld/$1 [R=301,QSA,L]


C'est un code que j'ai pris sur le Hub, et ça fonctionne très bien.
Par exemple -http://serveur.tld/page1.html redirige bien vers -http://www.serveur.tld/page1.html

Mais.. j'ai un répertoire sur lequel j'ai installé MODx.
Et quand je demande -http://serveur.tld/modx je ne suis pas redirigé.

Du coup, je me dis que c'est le fichier .htaccess livré avec MODx qui pose problème, mais je n'y comprends rien.
Le fichier .htaccess livré avec MODx:
CODE
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ /modx/index.php?q=$1 [L,QSA]


Sur le forum de modxcms.com je n'ai trouvé que des solutions hasardeuses qui ne fonctionnent pas chez moi.
Je précise que je suis sur un 60GP OVH, donc sujet aux bidouilles ovhesques avec les .htaccess

Si quelqu'un a une idée .. smile.gif
Merci !
Anonymus
le htaccess de modx dit (en gros) qu'il faut tout rediriger vers le fichier index.php, qui se débrouillera.
Seulement, en précisant /modx/, j'aurais tendance à penser que ca renvoie ) la racine du serveur.
A ta place, j'essayerais comme ceci :
CODE
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

En tout cas, ca marche sur mon localhost wink.gif
Dudu
De mémoire, le nom du répertoire était requis pour que ça marche.
Était-ce par OVH et sa gestion particulière des redirections sur les mutus, ou était-ce une spécificité de MODx je ne sais plus (j'ai laissé ce NDD à l'abandon pendant quelques mois)

J'ai tout de même essayé: ni plus ni moins que la même chose unsure.gif

J'ai aussi tenté avec le slash devant 'index.php' (à cause du mod_ort d'OVH) et là ça redirige très bien vers le www a_thumbsup_20.gif
.. avec une erreur 404 sur l'URL -http://www.serveur.tld/index.php?q=page.truc b_thumbsdown_20.gif

En bref:
- soit ça redirige et MODx ne trouve pas le fichier à aller chercher
- soit ça ne redirige pas mais MODx trouve le fichier
Dan
Salut Dudu,

On oublie trop souvent qu'il n'y a pas d'héritage des règles du niveau supérieur...
http://www.webmaster-hub.com/lofiversion/i...php/t16596.html

Donc, le simple ajout de "RewriteOptions inherit" après le "RewriteEngine on" devrait résoudre ton problème wink.gif

Dan
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.