Forcer l'utilisation de l'urlrewriting même si le dossier existe

  • Auteur de la discussion Auteur de la discussion neo765
  • Date de début Date de début
Salut,

J'aimerai utiliser un script php pour charger mes images appeler depuis une url.

Code:
RewriteEngine on
RewriteRule ^images/(.*)$ /script.php?url=$1

Seulement il ne me prend pas en compte mon url parce que le dossier images/ existe sur le serveur.

Il faudrait que la RewriteRule ait la priorité mais je vois pas comment faire.

Merci
 
Salut,

Je défini mes règles dans mon virtual host :

Code:
<Directory /www/htdocs/mywebsite/images/>

        RewriteEngine on
        RewriteRule ^images/(.*)$ /protectimg.php?url=$1 [PT]

</Directory>

Si j'appel mywebsite.com/images/ ou mywebsite.com/images/images/ l'url rewriting n'est pas prise en compte (j'ai du Forbidden ou du Not Found).

Par contre l'url rewriting était bien prise en compte pour la condition suivante (à la racine) :

Code:
<Directory /www/htdocs/mywebsite/>

        RewriteEngine on
        RewriteRule ^images2/(.*)$ /protectimg.php?url=$1 [PT]

</Directory>

si j'appel mywebsite.com/images2/ il va bien me chercher protectimg.php. Mais je voudrais qu'il me fasse ça pour mywebsite.com/images/ même si le dossier image/ existe.
 
neo765 a dit:
Il faudrait que la RewriteRule ait la priorité mais je vois pas comment faire.
Code:
	RewriteCond %{REQUEST_URI}  ^(.*)images(.*)
	RewriteRule ....
essaie avec une condition ...
 
Non plus, mon images est toujours :(

Et si je comprends bien la condition, n'importe quelle requête qui contient le mot "images" est redirigé vers le script ?
 
oui mais tu peux affiner ... j'utilise ça a la racine perso pas dans le dossier images.
 
Salut,

J'ai remis en place la règle suivante :

Code:
RewriteCond %{REQUEST_URI}  ^(.*)images(.*)
RewriteRule ^(.*)$ /script.php?url=$1

Elle fonctionne uniquement si je n'utilise pas le dossier images/ dans mon url, avec images2/ ça fonctionne correctement (mon script.php est appelé)
 
Tu peux donner un exemple de lien que tu utilises, je ne comprends pas trop ce que tu veux faire?
 
neo765 a dit:
Salut,
Seulement il ne me prend pas en compte mon url parce que le dossier images/ existe sur le serveur.

Il faudrait que la RewriteRule ait la priorité mais je vois pas comment faire.
Est-ce que tu n'aurais pas un fichier .htaccess qui dit qu'il ne faut pas faire de rewriting quand le dossier existe? Je pense que, s'il y a un .htaccess, ses règles sont appliquées d'abord.

Jean-Luc
 
Effectivement il y a un .htaccess dans le dossier images/ :? :

Code:
# Protect against bug 28235
<IfModule rewrite_module>
        RewriteEngine On
        RewriteCond %{QUERY_STRING} \.[^\\/:*?\x22<>|%]+(#|\?|$) [nocase]
        RewriteRule . - [forbidden]
</IfModule>
 
Peux-tu faire un essai en recopiant la ligne RewriteRule de ton virtual host dans le .htaccess?

Jean-Luc
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut