Fichier JS = Erreur 500, même fichier renommé = OK ?
BMPCreated with Sketch.BMPZIPCreated with Sketch.ZIPXLSCreated with Sketch.XLSTXTCreated with Sketch.TXTPPTCreated with Sketch.PPTPNGCreated with Sketch.PNGPDFCreated with Sketch.PDFJPGCreated with Sketch.JPGGIFCreated with Sketch.GIFDOCCreated with Sketch.DOC Error Created with Sketch.
Question

Fichier JS = Erreur 500, même fichier renommé = OK ?

Par
StephaneD4
Créé le 2016-11-03 07:10:21 (edited on 2024-09-04 12:48:35) dans Hébergements Web

Bonjour,

Je fais face à un problème incompréhensible, par rapport à un fichier JS qui selon son contenu et son nom provoque une erreur 500 quand je veux y accéder.

Ci dessous le même fichier, simplement renommé. Le premier renvoie une erreur 500, le deuxième affiche bien le fichier javascript :

http://stephanedamo.fr/vkbeautify.0.99.00.beta.js

http://stephanedamo.fr/vkbeautify.0.99.00.beta2.js

Par contre, si je minifie ce fichier en gardant le nom de celui qui ne marchait pas (vkbeautify.0.99.00.beta.js), il ne provoque pas d'erreur... (ajouter /js/ avant le nom du fichier sur le 1er lien pour le voir)

Je précise qu'il n'y a aucun .htaccess pouvant interférer avec la requête, ni de configuration spécifique ou de script PHP, et c'est un simple hébergement mutualisé classique OVH...

Etant développeur confirmé je ne comprends pas d'où vient le problème. Est-ce que OVH aurait une sorte d'antivirus qui déclencherait un faux-positif sur certains fichiers ? Il s'agit en plus d'un fichier Javascript donc le serveur n'a aucune raison de le traiter, il est censé simplement envoyer le contenu en texte brut au client...

Bien que j'ai résolu le problème en minifiant le fichier comme expliqué plus haut, j'aimerais savoir ce qui provoque cette erreur.


4 réponses ( Latest reply on 2017-03-10 17:08:01 Par
romainovh
)

Salut,

Très original ton souci !
En attendant une réponse de la team OVh, j'ai testé sur un hébergement à moi, le résultat est le même : Erreur 500.

L'erreur arrive dès que le fichier se termine par "beta.js". Ca ressemble bien à une règle de filtrage.

Un bonjour.beta.js ne passe pas.
Un bonjour.beta.js.html passe.

Moi aussi, j'aimerais bien savoir ce qui bloque côté OVH.

Bonjour,

Pas facile celle là :slight_smile:

Donc la configuration de nos apache, nous supportons les handler PHP suivant :

` AddHandler fastcgi-script .php .php3 .php4 .beta .php5 .php6`

Apache forward tout fichier qu'il croise avec une de ces extensions vers PHP.
Example :

test.php.html -> PHP
test.php6 -> PHP
test.php7 -> Apache
test.toto.beta -> PHP
test.beta.js -> PHP
test.html -> Apache

Du coup PHP se trouve 0 devoir interpréter du code javascript, ce qu'il ne sait bien sur pas faire.
Je vous recommande donc de ne pas nommer vos fichiers en .beta (sauf pour faire du PHP).

Cdt,

Ah je vois, j'ai été vraiment très malchanceux de tomber sur une lib avec ce nom :smiley:

Bizarre comme règle de filtrage (pourquoi beta devrait être associé à PHP ?)

En tout cas merci d'avoir regardé mon problème et pris le temps de me répondre

Ok, en fait c'est même juste une ligne qui l'empêche de parser le fichier :
`// //`
C'est le "
Merci pour la réponse Ludo ;-)