Aller au contenu

nginx et caractères spéciaux dans les URL ?


PierU

Messages recommandés

Bonjour,

J'ai aspiré/récupéré sous forme statique un vieux forum phpBB que j'administrais, hébergé chez OVH. Pour ça j'ai utilisé "wget" avec les options "--mirror --adjust-extension --convert-links".

Les pages générées par les scripts php, par exemple "viewforum.php?f=10" sont sauvegardées en html statique, l'extension ".html" est ajoutée ("viewforum.php?f=10.html"), et tous les liens dans toutes les pages sont modifés automatiquement en conséquence.

Ca marche très bien quand je navigue en local sur les fichiers sauvegardé (qui forment donc un site "statique"). Ca marche aussi très bien quand je navigue sur le site statique ré-uploadé sur l'hébergement OVH. Par contre ça ne marche pas quand je mets ce site statique sur Web Station, servi par nginx.

Le problème semble être que nginx ne trouve pas les fichiers qui ont un "?" dans leur nom. En local ou sur l'hébergement OVH, quand je clique sur un lien "viewforum.php?f=10.html" l'URL qui apparait dans la barre d'adresse indique "viewforum.php%3Ff=10.html" et le fichier "viewforum.php?f=10.html" est bien chargé. Sur Web Station/nginx la barre d'adresse indique aussi "viewforum.php%3Ff=10.html" mais ça me fait une "erreur 404".

Je connais très mal (pas du tout) nginx... Y a-t-il une solution simple pour que ça marche ?

 

Lien vers le commentaire
Partager sur d’autres sites

Bon en fait le problème n'a rien à voir avec nginx, mais avec l'encodage des caractères dans les noms de fichiers...

J'avais transféré les fichiers vers le NAS au travers d'un partage  SMB (depuis un Mac). Vus depuis le Mac par SMB les fichiers avaient toujours le bon nom :

-rwx------  1 moi  staff    173  2 jan  2020 viewforum.php
-rwx------  1 moi  staff  17334  2 jan  2020 viewforum.php?f=1&start=0.html
-rwx------  1 moi  staff  17310  2 jan  2020 viewforum.php?f=1.html
-rwx------  1 moi  staff  38948  2 jan  2020 viewforum.php?f=12&start=0.html
-rwx------  1 moi  staff  38924  2 jan  2020 viewforum.php?f=12.html
-rwx------  1 moi  staff  41803  2 jan  2020 viewforum.php?f=13&start=0.html

Mais en me connectant par SSH sur le NAS les "?" apparaissent comme un caractère spécial différent (et de même vus depuis File Station):

-rwxrwxrwx+ 1 xxx users   173 Jan  2  2020 viewforum.php
-rwxrwxrwx+ 1 xxx users 38924 Jan  2  2020 viewforum.phpf=12.html
-rwxrwxrwx+ 1 xxx users 38948 Jan  2  2020 viewforum.phpf=12&start=0.html
-rwxrwxrwx+ 1 xxx users 41755 Jan  2  2020 viewforum.phpf=13.html
-rwxrwxrwx+ 1 xxx users 41803 Jan  2  2020 viewforum.phpf=13&start=0.html
-rwxrwxrwx+ 1 xxx users 41017 Jan  2  2020 viewforum.phpf=13&start=25.html

Donc pas étonnant que nginx y perde ses petits...

Du coup j'ai transféré les fichier par ssh (enfin, avec "scp -r"), et là les fichiers vus sur le NAS sont OK avec les "?" dans les noms. Et surtout on peut parcourir le site avec nginx, ce qui était le but !

Par contre quand je regarde ces fichiers depuis le Mac par SMB, c'est n'importe quoi... Je ne vois que les noms cours (MS-DOS 8+3) :

-rwx------  1 moi  staff    8272 31 jan 17:21 M08RRY~I
-rwx------  1 moi  staff    6956 31 jan 17:21 M0K2VO~F
-rwx------  1 moi  staff    6956 31 jan 17:21 M0KA4H~E
-rwx------  1 moi  staff    8269 31 jan 17:21 M1877B~1
-rwx------  1 moi  staff    8269 31 jan 17:21 M22PDK~Q
-rwx------  1 moi  staff    8269 31 jan 17:21 M2EAWZ~O

Une explication ?

 

Lien vers le commentaire
Partager sur d’autres sites

Il y a 16 heures, PierU a dit :

Par contre quand je regarde ces fichiers depuis le Mac par SMB, c'est n'importe quoi... Je ne vois que les noms cours (MS-DOS 8+3) :

Je me réponds à moi-même : le "?" étant un caractère interdit dans les noms de fichiers sous Windows, SMB (protocole Windows à la base) génère un nom court 8+3 pour le présenter au client.

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.