la je bloque...

Nouveau WRInaute
Bonjour,

voila jaurais besoin d'aide parceque la j'ai un petit probleme avec l'url rewritting... J'explique:

jusqu'a present jutilisait cette formule la:

Code:
RewriteRule ^normandie\.php$ browse.php?cat=86 [T=application/x-httpd-php,L]

pour que la page: "normandie.php" affiche la page "browse.php?cat=86"

seulement la jaimerais faire le contraire,j 'aimerais que lorsque lon tape: browse.php?cat=86 ca affiche la page "normandie.php"

Si quelqu'un sais comment faire ca merci d'avance parceque la ca fait pas mal de temps que je bloque :evil:
 
WRInaute passionné
L'interet c'est faire pointer les anciennes url avec variables, vers les nouvelles sans variables.
Les anciennes url sont dans l'index de google, il va les reutiliser pour les prochains crawls.
 
WRInaute impliqué
Kmacleod a dit:
L'interet c'est faire pointer les anciennes url avec variables, vers les nouvelles sans variables.
Les anciennes url sont dans l'index de google, il va les reutiliser pour les prochains crawls.
ah... 8O mais si tu mets l'autre aussi dans l'autre sens, ça fait une boucle, non?
la, j'ai pas du tout comprendre.

ça réécrirait donc une Url que tu viens de réécrire...
 
WRInaute occasionnel
Pas si tu fais une redirection 301. En revanche, effectivement, si tu mets la règle en réécriture interne, c'est une erreur 500 assurée. Je conseillerais cepndant de renommer le fichier browse.php pour plus de sécurité ou faire un RewriteCond sur REQUEST_URI.
 
WRInaute impliqué
mouais... dans l'absolu, j'ai quand même du mal a voir ce que ça donne.
Moi, j'affiche une redirection 301 en header en testant l'url (si paramètre, rediriger 301 vers sans paramètre)
je trouve cela moins risqué.
Mais je pensais pas que cela marchait...
Quelqu'un l'a effectivement testé?
 
Nouveau WRInaute
DAVID86 a dit:
l'intérêt c'est quoi, en fait?

En fait je fais ca car jaimerais envoyer une page avec variable sur une page sans variable tout simplement pour que cette page (qui est une catégorie d'annuaire) renvois en fait vers une page d'avertissement pour enssuite envoyer vers la categorie elle meme.

donc la pour exemple jai mis deux fois les memes nom, mais en fait c'est plutot:

seulement la jaimerais faire le contraire,j 'aimerais que lorsque lon tape: browse.php?cat=86 ca affiche la page "avertissement.php"

c'est surement tout con mais je me prend la tete depuis hier dessus :cry:
 
WRInaute occasionnel
Pour DAVID86,

Testé, pas mis en prod, donc pas d'effet sur mon site:)

Dans un httpd.conf, c'est le plus simple,
Code:
RewriteRule ^/normandie.php$ /browse.php?cat=86 [L]

RewriteCond %{REQUEST_URI} ^/browse.php$
RewriteCond %{QUERY_STRING} cat=\d+
RewriteRule ^.*$ %{QUERY_STRING} [C]
RewriteRule cat=(\d+) /normandie.php? [R=301,L]

Dans un .htaccess, un peu plus subtil, on teste sur THE_REQUEST plutôt que REQUEST_URI, même si ca finit par marcher, ca évite des allers-retours
Code:
RewriteRule ^normandie.php$ browse.php?cat=86 [L]

RewriteCond %{THE_REQUEST} browse.php
RewriteCond %{QUERY_STRING} cat=\d+ 
RewriteRule ^.*$ %{QUERY_STRING} [C]
RewriteRule cat=(\d+) /normandie.php? [R=301,L]

Pour Kouaa, ca te suffit ca? Pour toi ca devrait donner à peu près (dans un .htaccess)
Code:
RewriteRule ^normandie.php$ browse.php?cat=86 [L]

RewriteCond %{THE_REQUEST} browse.php
RewriteCond %{QUERY_STRING} cat=\d+ 
RewriteRule ^.*$ %{QUERY_STRING} [C]
RewriteRule cat=(\d+) /avertissement.php? [R=301,L]

Ou [0-9] à la place de \d, il semblerait que ca ne passe pas bien parfois (strictement équivalent, mais bon).
 
Nouveau WRInaute
Pour Kouaa, ca te suffit ca? Pour toi ca devrait donner à peu près (dans un .htaccess)
Code:
RewriteRule ^normandie.php$ browse.php?cat=86 [L]

RewriteCond %{THE_REQUEST} browse.php
RewriteCond %{QUERY_STRING} cat=\d+ 
RewriteRule ^.*$ %{QUERY_STRING} [C]
RewriteRule cat=(\d+) /avertissement.php? [R=301,L]

Ou [0-9] à la place de \d, il semblerait que ca ne passe pas bien parfois (strictement équivalent, mais bon).

Heu... nan la je pige po :cry:

concretement si je veux que l'URL "browse.php?cat=86" affiche "avertissement.php" je dois rédiger ca comment?

ps: désolé j'ai un peu de mal mais la javoue c'est vraiement pas mon domaine =/
 
WRInaute occasionnel
On va simplifier

Code:
RewriteCond %{THE_REQUEST} browse.php 
RewriteCond %{QUERY_STRING} cat=86 
RewriteRule ^.*$ /avertissement.php? [R=301,L]
 
Nouveau WRInaute
nikoshr a dit:
On va simplifier

Code:
RewriteCond %{THE_REQUEST} browse.php 
RewriteCond %{QUERY_STRING} cat=86 
RewriteRule ^.*$ /avertissement.php? [R=301,L]

Merci c'est impec ca marche !
j'te roulerais bien une pelle mais ma copine va pas etre contente :lol: en tout cas tu m'enleve une grosse epine du pied merci a tous ceux qui se sont penché sur mon pbme
 
Nouveau WRInaute
nikoshr a dit:
On va simplifier

Code:
RewriteCond %{THE_REQUEST} browse.php 
RewriteCond %{QUERY_STRING} cat=86 
RewriteRule ^.*$ /avertissement.php? [R=301,L]

Un grand merci également !!
J'y ai passé le week-end mais ça marche nickel :D
 
Discussions similaires
Haut