Répondre à : Problème pretty url avec apache sans .htaccess [Résolu]

Home Forums Systèmes / Outils Apache Problème pretty url avec apache sans .htaccess [Résolu] Répondre à : Problème pretty url avec apache sans .htaccess [Résolu]

#67
Patoche
Invité

Il y a une petite différence lorsque tu mets les règles de rewriting dans le fichier de configuration d’apache au lieu du .htaccess.

2 cas de figure :
1/ Tes règles sont dans <directory> il faut ajouter la directive RewriteBase

<Directory "/my/path">
  AllowOverride None
  Allow from all
  Options +Indexes FollowSymLinks
  RewriteBase /
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.+).html$ index.php?page=$1 [QSA]
</Directory>

2/ Tes règles sont en dehors, dans ce cas il ne faut pas de RewriteBase mais ajouter un / dans la règle

<Directory "/my/path">
  AllowOverride None
  Allow from all
  Options +Indexes FollowSymLinks
</Directory>
 RewriteEngine on
 #-- Rules -------------------
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteRule ^/(.+).html$ /index.php?page=$1 [QSA]

Voilà qui devrait solutionner ton problème.

 

lorsqu’on peut configurer les règles de rewriting dans apache au lieu d’utiliser un fichier .htaccess, ne pas oublier de mettre la directive AllowOverride None on gagne en performance, car apache ne va plus chercher la présence et l’analyse d’un fichier .htaccess à chaque requête cool 🙂