Aller au contenu

goulvench

Membre
  • Compteur de contenus

    2
  • Inscrit(e) le

  • Dernière visite

Réputation sur la communauté

0 Neutre
  1. Bonjour Patrick, Si j'ai bien compris, une redirection externe c'est quand le serveur renvoie le header 301 ou 302. Une réécriture interne, c'est quand le serveur modifie l'adresse demandée avant de la passer au script PHP (ou autre). En l'occurrence, je veux rediriger les adresses de la forme index.php/*.html mais traiter les adresses du type *.html comme index.php/*.html.
  2. Bonjour, Pour rediriger des adresses du type /index.php/page.html en /page.html, j'utilise : RewriteRule ^index\.php\/(.*)\.html$ $1.html [R=301,L] De plus, je dois réécrire (en interne seulement) /page.html en /index.php/page.html. Pour cela, j'utilise le code : RewriteCond %{REQUEST_FILENAME} !^index\.php RewriteCond %{REQUEST_FILENAME} ^(.+)\.html RewriteRule ^(.*)$ index.php/$1 [L,QSA] Ces 2 règles fonctionnent très bien isolément, mais quand j'active les 2 ça provoque une boucle -malgré le flag "Last". Voici ce que je trouve dans le RewriteLog (en résumé) : internal redirect with /index.php/page.html [INTERNAL REDIRECT] escaping http://monsite.local/page.html for redirect redirect to http://monsite.local/page.html [REDIRECT/301] J'ai donc 3 questions : 1) Pourquoi la deuxième règle provoque-t-elle une réécriture interne quand la première est active, alors qu'elle est en deuxième position et que je précise [L] pour que d'autres règles ne s'appliquent pas ? 2) Je croyais avoir compris que le fichier htaccess est lu 1 seule fois à chaque requête HTTP, mais j'en conclus qu'il est lu à chaque requête ET à chaque fois qu'une RewriteRule a modifié l'adresse de la page demandée. C'est bien ça ? 3) Si c'est le cas, je dois donc n'appliquer ma première règle qu'aux URLs externes (demandées par HTTP), et surtout pas aux URLs réécrites en interne. Mais comment ? Je provoque une erreur 500 quand je précède la première règle avec : RewriteCond %{REQUEST_URI} ^index\.php\/(.*)\.html$ Merci de vos avis éclairés !
×
×
  • Créer...