Url Rewriting

Mammouth du PHP | 1339 Messages

16 nov. 2009, 16:22

Bonjour,

Je n'ai pas trouver comment rediriger 'http://www.monsite.com/?q=recherche' vers 'rechercher.php?q=recherche'

Merci de votre aide.

Elie
Bon sinon tu me fais un message privé et on se fait un TeamViewer

Mammouth du PHP | 2937 Messages

16 nov. 2009, 17:11

Code : Tout sélectionner

RewriteEngine on RedirectMatch 301 ^/?q=(.*)$ http://www.monsite.com/rechercher.php?q=$1 [L]
À enregistrer dans un fichier .htaccess que tu places à la racine de ton site.

Mammouth du PHP | 1339 Messages

16 nov. 2009, 18:09

Donc on passe pas par un RedirectRule ... Oki, je vais regarder :)

Merci !
Bon sinon tu me fais un message privé et on se fait un TeamViewer

Mammouth du PHP | 1339 Messages

25 nov. 2009, 01:31

Avec ce putain de [L] apache veut pas du httacces.
Et sans la redirection se fait pas.

Une idée ?

Code : Tout sélectionner

RedirectMatch 301 ^/?q=(.*)$ tous-les-films.php?q=$1

Mammouth du PHP | 985 Messages

25 nov. 2009, 05:09

L'erreur apache est normale car il ne faut pas utiliser de [L] avec RedirectMatch.
De même que l'on ouvre pas le mode rewrite (RewriteEngine ON) avec RedirectMatch
Il ne faut pas utiliser de ^$ dans le RedirectMatch.
Il faut mettre l'url complète dont le http...

Donc exactement comme ceci:

Redirection avec RedirectMatch:

Code : Tout sélectionner

RedirectMatch 301 /?q=(.*) http://www.monsite.com/tous-les-films.php?q=$1
Ou avec le mode rewrite:

Code : Tout sélectionner

RewriteEngine ON RewriteCond %{QUERY_STRING} ^?q=(.*)$ RewriteRule ^$ http://www.monsite.com/tous-les-films.php?q=$1 [R=301,L]
Face à la roche, le ruisseau l'emporte toujours, non pas par la force mais par la persévérance.