Problème url rewriting et affichage d'images chez ovh (mutualisé)

Nouveau WRInaute
Bonjour à tous,

j'ai un petit problème.

Sur mon site j'utilise l'url rewriting, et j'ai donc à la racine du site un fichier .htaccess contenant les règles de réécriture.

Mais ce fichier .htaccess a une mauvaise conséquence, les images, qui sont contenues dans un dossier images/, ne s'affichent plus.

Si j'enlève le fichier .htaccess, les images se réaffichent correctement, mais si je le supprime, l'url rewriting est par conséquent inactif.

Comment puis faire pour concilier entre les deux,

Merci à vous.
 
WRInaute accro
Bonjour et bienvenue sur le forum,

Il faut changer des règles de réécriture pour qu'elles ne s'appliquent pas au dossier images. Si tu veux plus d'aide, copie ici le contenu de ton fichier .htaccess.

Jean-Luc
 
Nouveau WRInaute
Bonjour,

voila le contenu de mon fichier .htaccess,

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^annonce_(.*).html /viewlisting.php?view=$1
RewriteRule ^meilleure_annonce_(.*).html /toplistings?pg=$1
RewriteRule ^(.*)_(.*) /viewlisting.php?view=$1
</IfModule>

<IfModule mod_security.c>
# Turn off mod_security filtering.
SecFilterEngine Off

# The below probably isn't needed,
# but better safe than sorry.
SecFilterScanPOST Off
</IfModule>


Le problème est que je ne connais pas la syntaxe pour épargner un dossier. Merci pour votre réponse rapide.
 
WRInaute accro
Tu peux ajouter:
Code:
RewriteRule ^images\/  -  [L]
Le - indique que, pour les URL spécifiées, il n'y a pas de réécriture et le [L] indique que les règles suivantes ne doivent pas être appliquées pour les URL spécifiées.

Donc, dans ton .htaccess, cela donne:
Code:
<IfModule mod_rewrite.c>
RewriteEngine On 
RewriteRule ^images\/  -  [L]
RewriteRule ^annonce_(.*).html /viewlisting.php?view=$1
RewriteRule ^meilleure_annonce_(.*).html /toplistings?pg=$1
RewriteRule ^(.*)_(.*) /viewlisting.php?view=$1
</IfModule>

...
Jean-Luc
 
WRInaute passionné
tu peux ajouter une condition pour exclure les fichiers ou répertoires physiques. c'est a mettre avant la règle qui pose problème (normalement la dernière) :
Code:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)_(.*) /viewlisting.php?view=$1
 
Nouveau WRInaute
Re bonjour à tous!

Merci beaucoup à tous les deux.

J'ai essayé la proposition de Jean Luc et ça marche excellemment bien.

Merci beaucoup à tous!

A bientôt.
 
Discussions similaires
Haut