Bonjour à tous.
Histoire de garder mon répertoire [tt]www[/tt] un minimum ordonné, j’ai installé MODx dans le sous-répertoire [tt]www/v2[/tt].
J’ai aussi activé les
friendly URLs, et donc, pour accéder à mes pages, les URL sont de la forme:
http://www.esicom-st-malo.fr/v2/formation
Tout marche. Seulement, je voudrais
cacher le sous-repertoire [tt]v2[/tt] pour que les URLs que voient les utilisateurs (et les robots) soient de la forme:
http://www.esicom-st-malo.fr/formation
Après pas mal de tâtonnements, j’ai fini par y arriver. Seulement, je voudrais savoir s’il n’y avait pas un moyen plus simple d’obtenir le même résultat, et surtout, si ma solution ne me réserve pas de mauvaises surprises auxquelles je n’aurais pas pensé.
Voici donc ce que j’ai fait:
Tout d’abord, j’ai modifié mon [tt].htaccess[/tt] pour rediriger vers le sous-répertoire [tt]v2[/tt]:
SetEnv REGISTER_GLOBALS 0
RewriteEngine On
RewriteRule ^$ /v2/ [L,QSA]
RewriteRule ^/$ /v2/ [L,QSA]
RewriteRule ^assets/(.*)$ /v2/assets/$1 [L,QSA]
RewriteRule ^manager/(.*)$ /v2/manager/$1 [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /v2/index.php?q=$1 [L,QSA]
Ca marchait, les requêtes sont bien redirigées en toute transparence pour le client, mais les URLs générés par MODx (par exemple dans les menus) faisaient toujours apparaître les sous-répertoire [tt]v2[/tt].
Après avoir beaucoup cherché (dans le manager, sur le web et des les sources), j’en ai finalement conclu qu’il fallait que j’initialise
de force les variables [tt]$site_utl[/tt], [tt]$base_url[/tt] et [tt]$base_path[/tt]. J’ai donc
modifié le fichier [tt]index.php[/tt] ainsi (vers ligne 83):
83 // Debut modifs SL20
84 $base_url = '/';
85 $base_path = '/home/esicomst/www/v2/';
86 $site_url = 'http://www.esicom-st-malo.fr/';
87 // Fin modif SL20
Et maintenant, tout à l’air de fonctionner comme je le désirais. Mais je trouve ça un peu
brutal d’avoir eu à modifier [tt]index.php[/tt]. Donc peut-être y avait-il plus simple/plus propre?
Tous vos commentaires sont les bienvenus.
D’avance merci,
Sylvain.