Page 1 sur 1
htaccess R=301 sur deux lignes avec Rewrite(Cond|Rule)
Posté : 10 janv. 2013, 09:10
par two3d
Bonjour,
je souhaite dire à apache de redirectionner les pages si celles ci sont appelées directement via les variables PHP
mon code .htaccess:
Code : Tout sélectionner
RewriteCond %{QUERY_STRING} =^action=(voir|modifier|supprimer|nouveau)&id=([0-9]+)$
RewriteRule .* /$1-$2? [R=301,L]
j'aimerai pouvoir faire une URL comme ceci: site.com/voir-75 ou site.com/modifier-541 (entres autres)
Merci d'avance pour votre aide.
Bonne journée
Re: htaccess R=301 sur deux lignes avec Rewrite(Cond|Rule)
Posté : 10 janv. 2013, 09:45
par xTG
Je ne suis pas sûr que cela soit une bonne idée.
Plutôt débutant dans l'écriture de htaccess mais je pense qu'à part une jolie boucle tu n'obtiendras pas grand chose.

Re: htaccess R=301 sur deux lignes avec Rewrite(Cond|Rule)
Posté : 10 janv. 2013, 10:54
par two3d
Ouai, j'arrive pas à redirection l'url qui ya dans le navigateur depuis tout à l'heure.
Re: htaccess R=301 sur deux lignes avec Rewrite(Cond|Rule)
Posté : 10 janv. 2013, 21:51
par two3d
j'ai réussi à redirectionner vers /voir-1 quand je clic sur /index.php?action=voir&id=1 mais le problème c'est que ça redirige à la racine du site et non dans le dossier même, une solution ?
mon site (en local) est dans des dossiers: localhost/dossier1/dossier2/dossier3/index.php?action=voir&id=1 ça redirectionne vers: localhost/voir-1
je précise que j'ai éssayé avec:
RewriteBase /
RewriteBase /dossier1/dossier2/dossier3/
et
RewriteBase
http://localhost/dossier1/dossier2/dossier3/ (génère une erreur 500)
Mon code acuel:
Code : Tout sélectionner
RewriteRule ^voir-([0-9]+)$ index.php?action=voir&id=$1 [R=301,L]
RewriteCond %{QUERY_STRING} ^action=voir&id=([0-9]+)$
RewriteRule .* /voir-%1? [R=301]
Re: htaccess R=301 sur deux lignes avec Rewrite(Cond|Rule)
Posté : 10 janv. 2013, 23:34
par two3d
ça commence à me courir sur le haricot le htaccess
je suis redirectionné vers
http://localhost/C:/wamp/www/dossier1/dossier2/dossier3/index.php?action=voir&id=2 maintenant, voici mon code:
Code : Tout sélectionner
RewriteEngine On
RewriteRule ^voir-([0-9]+)$ index.php?action=voir&id=$1 [R=301,L]
je comprend pas, même après 36 articles lu sur internet
Re: htaccess R=301 sur deux lignes avec Rewrite(Cond|Rule)
Posté : 14 janv. 2013, 01:06
par two3d
Toujours pas trouvé de réponse
Re: htaccess R=301 sur deux lignes avec Rewrite(Cond|Rule)
Posté : 17 janv. 2013, 09:28
par momox
Le flag R force la redirection.
Fais quelques recherches sur les flags d'url rewriting, tu auras un début de réponse à ton problème.