[URL REWRITING] Incohérence avec le fichier index ?
Règles du forum
Attention ce forum est destiné avant tout à ceux qui découvrent le référencement. Les membres qui auront l'amabilité de répondre à leurs questions sont priés de rester courtois, polis, indulgents, patients et pédagogues... Merci d'avance !
Par ailleurs, inutile d'utiliser ce forum uniquement pour obtenir des liens vers vos sites, les liens sont désactivés pour le référencement (nofollow).
Attention ce forum est destiné avant tout à ceux qui découvrent le référencement. Les membres qui auront l'amabilité de répondre à leurs questions sont priés de rester courtois, polis, indulgents, patients et pédagogues... Merci d'avance !
Par ailleurs, inutile d'utiliser ce forum uniquement pour obtenir des liens vers vos sites, les liens sont désactivés pour le référencement (nofollow).
5 messages
• Page 1 sur 1
Consultez la formation au REFERENCEMENT naturel Google de WebRankInfo / Ranking Metrics
-

dorian53 - WRInaute passionné

- Messages: 2215
- Inscription: 10 Avr 2005
[URL REWRITING] Incohérence avec le fichier index ?
Bonjour,
Pourquoi cette règle fonctionne.
http://www.example.com/index.php renvoie vers http://www.example.com
C'est à dire que si http://www.example.com est appelé Apache passe outre cette règle.
En revanche, si l'on écrit la règle suivante pour capturer tout ce qui pourrait exister comme appel de page ou de dossier.
Apache plante avec Internal Server Error.
Parce qu'il doit tourner en boucle étant donné que la redirection vers / appelle pour lui index.php
Hors si index.php semble être appelé dans ce cas, pourquoi le 1er exemple ne tourne pas en boucle non plus ?
J'espère avoir été suffisamment clair.
Ou est la logique ?
Merci
Pourquoi cette règle fonctionne.
- Code: Tout sélectionner
RewriteRule (.*)index\.php$ /$1 [R=301,L]
http://www.example.com/index.php renvoie vers http://www.example.com
C'est à dire que si http://www.example.com est appelé Apache passe outre cette règle.
En revanche, si l'on écrit la règle suivante pour capturer tout ce qui pourrait exister comme appel de page ou de dossier.
- Code: Tout sélectionner
RewriteRule (.+) / [L]
Apache plante avec Internal Server Error.
Parce qu'il doit tourner en boucle étant donné que la redirection vers / appelle pour lui index.php
Hors si index.php semble être appelé dans ce cas, pourquoi le 1er exemple ne tourne pas en boucle non plus ?
J'espère avoir été suffisamment clair.
Ou est la logique ?
Merci
-

HawkEye - WRInaute accro

- Messages: 17013
- Inscription: 23 Fév 2004
Re: [URL REWRITING] Incohérence avec le fichier index ?
Ce n'est pas une question de fichier appelé, mais d'URI affiché.
Dans le premier cas, tu demandes à ce que tout ce qui se termine par "index.php" soit redirigé (R=301) vers le même URI, sans index.php.
Exemple:
/index.php -> / [ton test]
mais aussi
/anythingindex.php -> /anything
/dossier/sous-dossier/index.php --> /dossier/sous-dossier/
Le second ne redirige pas: il réécrit.
Je suppose que ton objectif est de gérer la réécriture via index.php (donc par l'identification de $_SERVER['REQUEST_URI']) ?
Tu dois à mon avis le présenter comme ceci:
--> et c'est dans index.php que tu vas définir que si l'URI est "index.php", il faut rediriger vers la racine.
Dans le premier cas, tu demandes à ce que tout ce qui se termine par "index.php" soit redirigé (R=301) vers le même URI, sans index.php.
Exemple:
/index.php -> / [ton test]
mais aussi
/anythingindex.php -> /anything
/dossier/sous-dossier/index.php --> /dossier/sous-dossier/
Le second ne redirige pas: il réécrit.
Je suppose que ton objectif est de gérer la réécriture via index.php (donc par l'identification de $_SERVER['REQUEST_URI']) ?
Tu dois à mon avis le présenter comme ceci:
- Code: Tout sélectionner
RewriteRule (.+) /index.php [L]
--> et c'est dans index.php que tu vas définir que si l'URI est "index.php", il faut rediriger vers la racine.
-

dorian53 - WRInaute passionné

- Messages: 2215
- Inscription: 10 Avr 2005
Re: [URL REWRITING] Incohérence avec le fichier index ?
HawkEye a écrit:Tu dois à mon avis le présenter comme ceci:
- Code: Tout sélectionner
RewriteRule (.+) /index.php [L]
--> et c'est dans index.php que tu vas définir que si l'URI est "index.php", il faut rediriger vers la racine.
Pas mieux, voici la réponse de Firefox.
Firefox a détecté que le serveur redirige la demande pour cette adresse d'une manière qui n'aboutira pas.
La solution je l'ai :
- Code: Tout sélectionner
RewriteEngine on
RewriteRule (.*)index\.php$ /membre/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !index.php
RewriteRule .+ /membre/ [L]
Mais ma question reste la même, si index.php semble être appelé dans la seconde règle, pourquoi la 1ere règle ne tourne pas en boucle non plus ?
Merci
-

dorian53 - WRInaute passionné

- Messages: 2215
- Inscription: 10 Avr 2005
Re: [URL REWRITING] Incohérence avec le fichier index ?
En fait la question est encore plus simple que ça.
Pourquoi cette règle renvoie "Internal Server Error" quand j'appelle http://www.example.com/membre/ ?
Le .htaccess est dans membre.
La règle ne capture donc rien, aucun caractère.
Ce qui ne correspond pas à .+ (au moins un caractère).
Et c'est à ce niveau qu'il ne faut pas me répondre qu'Apache appelle index.php
sinon cf règle 1.
Pourquoi cette règle renvoie "Internal Server Error" quand j'appelle http://www.example.com/membre/ ?
- Code: Tout sélectionner
RewriteRule .+ /membre/ [L]
Le .htaccess est dans membre.
La règle ne capture donc rien, aucun caractère.
Ce qui ne correspond pas à .+ (au moins un caractère).
Et c'est à ce niveau qu'il ne faut pas me répondre qu'Apache appelle index.php
5 messages
• Page 1 sur 1
Formation recommandée sur ce thème :
Formation REFERENCEMENT naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Fichier .htaccess et url rewriting
- URL rewriting et type de fichier
- url rewriting et fichier swf exportés :/
- Url rewriting sur un fichier swf ...
- URL rewriting qui renomme mon fichier
- url rewriting pour fichier image (ou autre...) ?
- redirection 301 sur un fichier déjà en URL rewriting
- Url Rewriting - Confusion dossier virtuel / fichier homonyme
- URL Rewriting pour changer le nom d'un fichier
- Url rewriting ou cache fichier pour page semi dynamique ?
- Suite de l'article sur le fichier .htaccess : l'URL rewriting
- Tutoriel URL Rewriting
- l'URL Rewriting expliqué aux débutants
- Optimiser le référencement d'un forum phpBB : réécriture d'URL
- L'URL Rewriting expliqué aux débutants
- 3ème partie de l'article .htaccess : les réécritures conditionnelles
- Le référencement de pages PHP
- Robots.txt : Yahoo supporte les options avancées
Consultez la description détaillée des produits ou services de Google suivants : Google goo.gl
- Analyse de popularité
Cet outil vous permet d'analyser en détails la "popularité" de votre site sur Google. En plus du nombre de liens pris en compte par Google, il calcule le pourcentage de liens internes parmi tous les liens, et il affiche les premières URL trouvées. - Transformer des simples citations de votre site en liens
Cet outil vous permet de trouver des pages citant votre site mais ne faisant pas (encore) de lien. Il suffira parfois d'un simple mail pour transformer cette simple citation en lien (backlink).
Qui est en ligne
Utilisateurs parcourant ce forum: Google [Bot] et 1 invité
