Version complète: sur le forum Webmaster Hub : URL Rewriting et OVH
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > Fichier .htaccess et réécriture d'URLs
nicolasdu83
Bonjour

Je suis entrain de transférer mon site de mon ancien hébergeur vers chez OVH et je rencontre quelques soucis avec l'URL Rewriting.
J'utilise CMS Made Simple comme CMS et j'ai suivi le tuto du site officiel à la lettre (tout fonctionnait chez mon ancien hébergeur) pour ne plus avoir les URL en index.php?page=xxxx mais en /accueil/page/ par ex.
J'ai essayé plusieurs fois et j'obtiens une erreur 404 : Not found /index.php :s
Tout est ok niveau fichier config.php, voici mon htaccess :

CITATION
Options +FollowSymLinks
RewriteEngine on
RewriteBase /

# 301 Redirect all requests that don't contain a dot or trailing slash to
# include a trailing slash
RewriteCond %{REQUEST_URI} !/$
RewriteCond %{REQUEST_URI} !\.
RewriteRule ^(.*) %{REQUEST_URI}/ [R=301,L]

# Rewrites urls in the form of /parent/child/
# but only rewrites if the requested URL is not a file or directory
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?page=$1 [QSA]


Une idée ?

Merci smile.gif
Remi
C'est un grand classique... tongue.gif

Chez OVH, il faut adresser le second paramètre des RewriteRule par rapport à la base :
Par exemple :
CODE
RewriteRule ^(.+)$ /index.php?page=$1 [QSA]
nicolasdu83
Merci pour ta réponse smile.gif

C'est à dire que je remplace la dernière ligne du htaccess par la tienne ? si oui, j'ai essayé et ça ne fonctionne pas sad.gif
Remi
Oui tongue.gif

Et aussi mettre un / sur le premier bloc aussi (ou enlever totalement tout le premier groupe qui ne sert pas à grand chose puisque le trailing slash ne crée pas vraiment de duplicate, mais bon tu peux le laisser si cela te fait plaisir)

En regardant mieux tes règles, je me demande comment cela pouvait marcher auparavant... cela va tourner en rond. Le dernier bloc devrait être :

CODE
# Rewrites urls in the form of /parent/child/
# but only rewrites if the requested URL is not a file or directory
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !^index\.php$
RewriteRule ^(.+)$ /index.php?page=$1 [QSA]
nicolasdu83
Tout fonctionne !!

Merci de ton aide a_thumbsup_20.gif
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.