Home › Forums › Systèmes / Outils › Apache › Problème pretty url avec apache sans .htaccess [Résolu]
- Ce sujet contient 1 réponse, 2 participants et a été mis à jour pour la dernière fois par Patoche, le il y a 7 années et 6 mois.
- AuteurMessages
- 18 février 2013 à 11 h 58 min #36JulienMaître des clés
Salut,
j’essaye de faire marcher pretty url sans le fichier .htaccess. J’ai configuré mon virtualhost dans apache httpd.conf en mettant la même config que dans le .htaccess qui est dans le dossier doc de csms. Mais j’ai des erreur 404 –(. Si je mets le .htaccess ça marche ! Je précise que je change ma config apache avec AllowOverride All quand je mets le fichier .htaccess.
voici ma config dans le virtualhost<VirtualHost *:80> ServerAdmin name@domain.com ServerName www.mywebsite.com DocumentRoot "/my/path" DirectoryIndex index.htm index.php index.html <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] </VirtualHost>
Si quelqu’un à une idée ?
25 mai 2017 à 18 h 41 min #67PatocheInvité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 🙂
- AuteurMessages
- Le sujet ‘Problème pretty url avec apache sans .htaccess [Résolu]’ est fermé à de nouvelles réponses.