Redirection htaccess

totoyo47 Messages postés 260 Date d'inscription   Statut Membre Dernière intervention   -  
totoyo47 Messages postés 260 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai codé une fonction Recherche sur mon site. L'url du résultat se présente sous cette forme :
/<requête>/<type_de_ressource>/<page>

Lorsque ces trois valeurs sont définies, la page des résultats s'affiche correctement, mais s'il en manque une, j'obtiens une erreur 404.

Voici mon .htaccess :
RewriteRule ^search///([0-9]+)$ s.php?page=$1 [L]
RewriteRule ^search//(.*)/([0-9]+)$ s.php?type_doc=$1&page=$2 [L]
RewriteRule ^search/(.*)/(.*)/([0-9]+)$ s.php?search=$1&type_doc=$2&page=$3 [L]


Merci de votre aide !

1 réponse

totoyo47 Messages postés 260 Date d'inscription   Statut Membre Dernière intervention   134
 
J'ai résolu mon problème de cette façon. Sans doute pas la meilleure solution, mais ça marche :)

RewriteRule ^search[/]?[/]?[/]([0-9]+)$ s.php?page=$1 [L]
RewriteRule ^search[/]?[/](.*)[/]([0-9]+)$ s.php?type_doc=$1&page=$2 [L]
RewriteRule ^search[/](.*)[/](.*)[/]([0-9]+)$ s.php?search=$1&type_doc=$2&page=$3 [L]
0
totoyo47 Messages postés 260 Date d'inscription   Statut Membre Dernière intervention   134
 
Je relance le topic car ça marche en local, mais pas sur mon serveur.

Par exemple, je tape cette adresse :
http: //monsite.com/search//video/1

En local, la réécriture url fonctionne correctement et j'obtiens :
s.php?search=&type_doc=video&page=1

Alors qu'en ligne, j'ai ça (donc, une erreur):
/s.php/video/1

J'ai testé ma regex via cet outil : https://htaccess.madewithlove.be/ , et le résultat est bien celui attendu.

En désespoir de cause, j'ai supprimé mon .htaccess. Le problème persiste.
Une idée ? Je suis chez ovh en mutualisé.
0