Bonjour à tous
Après moultes recherches et essais, j’ai toujours pas trouvé comment réécrire l’url de mon site en supprimant le nom du dossier racine.
Pouvez vous m’écrire une règle générale pour que ceci :
http://www.monsite.com/views/dossiers/pages,
ressembles à cela
http://www.monsite.com/dossiers/pages
En gros, tout mon site se trouve dans un dossier views à la racine, mais je ne veux pas qu’on le voit dans l’url.
MERCIIII
Pourquoi ne pas changer le DocumentRoot d’Apache pour faire pointer sur le dossier views ?
Sinon, dans les autres choix, faut interdire l’accès au dossier root et faire des alias (tu peux faire des regexp via AliasMatch).
ok je vais regarder ca.
Sinon moi j’avais vu des trucs tout bete comme :
RedirectMatch 301 /blog(.*) http://www.askapache.com/$1
mais ca marche pas
Edité le 15/03/2012 à 22:33
Lis la doc : httpd.apache.org…
Ce n’est pas trop ce que tu veux. Là, ça fait une redirection, ce qui n’est pas top vu que tu dis en gros au client “la ressource qui était là, elle n’est plus là, mais là”.
Imagines que tu te pointes à l’administration, guichet 478, qu’on te dise “ah mais c’est le guichet 997”, bah du coup t’as plus qu’à chercher ce guichet
Oh, et si tu as plein contrôle de ton domaine (ie: hébergement dédié versus mutualisé), tu as peut-être des configurations au niveau du serveur qui t’empêchent de mettre ce que tu veux dans l’htaccess.
Ok merci pour les infos. Mais je suis loin d’etre expert en htaccess, encore moins en regex et donc je suis pas sur d’y arriver.
Si ma demande est relativement simple, pourrais-tu me donner la Rule htaccess toute faite ? ca m’aiderai beaucoup.
merci merci merci
Je n’ai pas touché à Apache depuis un bout de temps, donc non.
Mais un truc dans ce genre devrait fonctionner :
AliasMatch (.*) /chemin/views/$1
Par contre, vu que c’est un htaccess, tu as des restrictions…
J’ai trouvé un code qui redirige tel que je le voulais
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/views/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /views/$1
Il reste un problème :
www.monsite.com/dossier/ fonctionne bien
www.monsite.com/dossier affiche la même page, MAIS à redirigé l’url vers www.monsite.com/views/dossier/, ce qui revient à mon problème de départ.
Une idée mon chère ?