C'est pas terriblement propre mais si ça marche, pourquoi pas. Après, je ne vois pas l'intérêt de faire ça si ce n'est finalement pas le besoin
Donc vire ton .htaccess dans le répertoire /content.
Pour maquer /content/, je plus simple c'est d'écrire la règle comme on a envie de l'écrire : "si l'URL ne commence pas par /content, l'ajouter". Ca se traduit directement ainsi dans le .htaccess à la racine du site :
1 2
| RewriteCond %{REQUEST_URI} !^/content
RewriteRule (.*) /content/$1 [L] |
Après, pour reconstruire l'URL avec les paramètres, c'est idem, faut pas chercher bien compliqué. La règle est : "passer ce qui suit /content/clients/ en paramètre d'URL", ce qui donne :
RewriteRule ^content/clients/(.*)(/index\.php)?$ /content/client.php?client=$1 [L]
Enfin, on garde le premier RewriteRule qui fait bien son boulot mais on le modifie légèrement pour virer le /content qu'on ne veut plus.
Au final, ça donne ça :
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| Options +FollowSymlinks
RewriteEngine on
RewriteOptions MaxRedirects=10
# checks for incoming URLs that have no string (ie. http://www.monsite.com/clientXXX/)
RewriteRule ^$ http://www.monsite.com/index.php [R=301,L]
RewriteCond %{REQUEST_URI} !^/content
RewriteRule (.*) /content/$1 [L]
RewriteRule ^content/clients/(.*)(/index\.php)?$ /content/client.php?client=$1 [L]
ErrorDocument 401 http://www.monsite.com/content/error_401.php
ErrorDocument 403 http://www.monsite.com/content/error_403.php
ErrorDocument 404 http://www.monsite.com/content/error_404.php |
Partager