|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre Expert
![]() ![]() |
Bonjour,
Je voudrai retirer les index.php de mes pages qui se présente sous la forme suivante : www.mon-site.com/index.php/mapage Pour obtenir la forme suivante : www.mon-site.com/mapage L'utilisateur tape => www.mon-site.com/index.php/mapage Je le redirige dans un première temps vers => www.mon-site.com/mapage La page n'a pas d'index, alors je fait une redirection interne vers la bonne page => www.mon-site.com/index.php/mapage J'ai donc subdiviser mon problème en deux étapes : 1. Faire une redirection permanente de l'index.php vers la page sans index. Code :
RewriteRule ^index\.php(.*)$ $1 [R=301,L] Code :
RewriteRule ^(.*) index\.php/$1 [L,QSA] J'ai beau retourner le problème dans tout les sens je n'arrive pas à voir l'erreur. Cordialement, Patrick Kolodziejczyk.
__________________
N'oubliez pas de marquer vos discussions ![]() Si une réponse vous a été utile pensez à voter Pour ![]() Pensez à la javadoc
|
|
00
|
|
|
#2 | ||
![]() ![]() Inscription : août 2005 Messages : 8 295 ![]() |
Il faut ajouter une information pour identifier les accès à index.php depuis une réécriture interne d'un accès externe (directement depuis un navigateur) de manière à dire que la redirection du navigateur ne se fasse que dans le cas d'un accès à index.php depuis l'extérieur. Cela peut passer par une variable d'environnement ou un paramètre d'URL fictif.
Pour illustrer, voici une version avec un paramètre d'URL : Code :
__________________
![]() Du détail, du détail, du détail !!! Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
|
||
|
|
00
|
|
|
#3 | ||
|
Membre Expert
![]() ![]() |
Merci beaucoup !
La piste (c'est une autoroute à ce niveau) que tu donne m'a permis de trouver la solution : Code :
Merci encore ! Cordialement, Patrick Kolodziejczyk.
__________________
N'oubliez pas de marquer vos discussions ![]() Si une réponse vous a été utile pensez à voter Pour ![]() Pensez à la javadoc
|
||
|
00
|
|
|
#4 |
|
Membre Expert
![]() ![]() |
Je reviens sur le problème avec une mauvaise nouvelle pour moi.
L'ajout du paramètre dans l'URL provoque des erreurs de gestion au niveau du Framework utiliser pour mon projet. il faudrait donc que je trouve une autre solution pour identifier la redirection interne et éviter la récursion. Cordialement, Patrick Kolodziejczyk.
__________________
N'oubliez pas de marquer vos discussions ![]() Si une réponse vous a été utile pensez à voter Pour ![]() Pensez à la javadoc
|
|
00
|
|
|
#5 | ||
![]() ![]() Inscription : août 2005 Messages : 8 295 ![]() |
Dans ce cas, faut essayer les variables d'environnement :
Code :
__________________
![]() Du détail, du détail, du détail !!! Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
|
||
|
|
00
|
|
|
#6 | ||||
|
Membre Expert
![]() ![]() |
Mon accès à la variable d'environnement ne fonctionne pas...
Si je réalise ceci : Code :
Mais j'arrive à céder à la variable via php en utilisant : Par contre si je réalise ceci : Code :
Je n'arrive donc pas à crée ma variable correctement et encore moins à la lire.
__________________
N'oubliez pas de marquer vos discussions ![]() Si une réponse vous a été utile pensez à voter Pour ![]() Pensez à la javadoc
|
||||
|
00
|
|
|
#7 | |||
![]() ![]() Inscription : août 2005 Messages : 8 295 ![]() |
Citation:
Donc est-ce que cette configuration réécrit correctement l'URL ?
__________________
![]() Du détail, du détail, du détail !!! Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
|
|||
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() ![]() |
Sauf que cela fonction seulement parce que j'ai une variable en get qui rend la redirection incompatible avec le framework du projet.
![]() Je parle de php parce que c'est un moyen de voir les variables. Je pense que : La lecture de la variable d'environnement n'est pas correcte dans mon htaccess. Car elle est bien setté avec mon "setenv" vue que php arrive à la voir après. Que le flag qui set la variable d'environnement dans ma redirection ne fonctionne pas : Car celle-ci n'est pas vue après coup par php. Cordialement, K
__________________
N'oubliez pas de marquer vos discussions ![]() Si une réponse vous a été utile pensez à voter Pour ![]() Pensez à la javadoc
|
|
00
|
|
|
#9 | |||
![]() ![]() Inscription : août 2005 Messages : 8 295 ![]() |
Je n'avais pas vu l'erreur :
Citation:
As-tu essayé la configuration que j'ai donnée ? Pour rappel : Code :
__________________
![]() Du détail, du détail, du détail !!! Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
|
|||
|
|
00
|
|
|
#10 |
|
Membre Expert
![]() ![]() |
Ton scripte présente une boucle de redirection.
Cette ligne ici : Code :
RewriteCond %{ENV:redirect_internal} !^true$
__________________
N'oubliez pas de marquer vos discussions ![]() Si une réponse vous a été utile pensez à voter Pour ![]() Pensez à la javadoc
|
|
00
|
|
|
#11 | |
![]() ![]() Inscription : août 2005 Messages : 8 295 ![]() |
Bon, c'est pas glorieux, ça marche pas, mon truc avec les variables d'environnement. En fait, d'un cycle de réécriture à un autre, mod_rewrite "oublie" les variables d'environnement qu'il a précédemment positionné. Je ne sais pas pourquoi. Du coup, lorsqu'Apache repasse une seconde fois les règles, les conditions basées sur la variable d'environnement ne sont pas vérifiées. Donc ça marche pas
Je n'ai pas trouvé le moyen de contourner ce problème. Du coup, je pense que la seule vraie piste est le paramètre d'URL. Citation:
__________________
![]() Du détail, du détail, du détail !!! Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
|
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com