Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2730 connectés 

  FORUM HardWare.fr
  Programmation
  Divers

  [Nginx] Problème URL rewritting via regex

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Nginx] Problème URL rewritting via regex

n°2436943
Fami
Posté le 02-01-2023 à 10:46:50  profilanswer
 

Hello et bonne année !
 
J'ai un problème sur mon serveur nginx pour faire une url rewriting avec un regex.
Quand je teste sur https://regex101.com/ tout est OK.
Mais que j'ajoute dans le fichier conf du site, nginx ne restart pas parce que bug dans la formulation je suppose.
 
Url de base :

Code :
  1. https://monsite.fr/mapage.html#page123


Regex :

Code :
  1. ([a-z0-9\-]+)\.html([[:graph:]]page[0-9]{1,3})


Le test sur https://regex101.com/ renvoi bien group1=mapage et group2=#page123
 
La formulation qui ne marche pas dans nginx :  

Code :
  1. rewrite ^/([a-z0-9\-]+)\.html([[:graph:]]page[0-9]{1,3})$ /monscript.php?mode=page_multiple&id=$1&page=$2 break;


 
Si vous avez des idées, ça m’intéresse.
 
** edit ***
à priori c'est le bloc {1,3} qui fait planter.
J'ai essayé sans et nginx reboot correctement.
Mais le regex ne marche pas pour autant...


Message édité par Fami le 02-01-2023 à 12:03:40

---------------
Ma SteamList (+ Origin, Uplay)
mood
Publicité
Posté le 02-01-2023 à 10:46:50  profilanswer
 

n°2436992
pluj
Posté le 02-01-2023 à 14:00:50  profilanswer
 

Lu,
 
vu que ton motif contient des accolades (servant à la base à délimiter les blocs de configuration nginx comme server, location, etc), tu dois l'entourer de quotes :
 

Code :
  1. rewrite "^/([a-z0-9\-]+)\.html([[:graph:]]page[0-9]{1,3})$" /monscript.php?mode=page_multiple&id=$1&page=$2 break;


 
Mais, tu as l'air de vouloir capturer une ancre mais celles-ci ne sont pas envoyées au serveur (ce n'est utilisé que par le client, ce dernier ne l'envoie pas), nginx ne recevra jamais #page123 de https://monsite.fr/mapage.html#page123, juste https://monsite.fr/mapage.html


Message édité par pluj le 02-01-2023 à 14:05:10
n°2436993
Fami
Posté le 02-01-2023 à 14:39:31  profilanswer
 

AH
 
En effet, c'est bien l'ancre que j'ai besoin de capturer...
Mince.
 
Est-ce-que PHP peut les voir lui ou bien, c'est mort aussi ?


---------------
Ma SteamList (+ Origin, Uplay)
n°2436994
pluj
Posté le 02-01-2023 à 14:44:30  profilanswer
 

PHP étant exécuté côté serveur, il ne verra pas plus ce que le client n'envoie pas en premier lieu au serveur.


Message édité par pluj le 02-01-2023 à 14:45:23
n°2436995
Fami
Posté le 02-01-2023 à 14:53:58  profilanswer
 

cheh la direction cheh  [:haha]  
 
à la base, je passais le numéro de la page en form (?page=2; ?page=3) et la page se rechargeait pour afficher les bonnes infos.
Mais ce n’était pas à leur gout et ils ont fait mettre le tout en JS par un jeune avec des liens #ancre pour les pages suivantes et ça a complétement tué le SEO.
2 ans plus tard, la nouvelle direction me demande de revenir en arrière, c'est beau. [:implosion du tibia]


---------------
Ma SteamList (+ Origin, Uplay)

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Divers

  [Nginx] Problème URL rewritting via regex

 

Sujets relatifs
[problème] Php Ajax refresh, Js eventProblème avec char
[Javascript - Nodejs - Mongoose] Problème Fetch PUT form-dataproblème de récupération de texte avec une fonction
[Regex] Domaine et FQDNAide pour une Regex
[Résolu] RegEx et Notepad++Regex récupérer valeur à partir d'un caractère
Problème affichage avec tablettestd::regex_replace
Plus de sujets relatifs à : [Nginx] Problème URL rewritting via regex


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR