Différents comportements de traitement de \ (barre oblique inverse) dans l'url par FireFox et Chrome
FOND
Selon mon expérience lors de mon ubuntu poste de travail est configuré sur le domaine active directory, le nom de l'utilisateur créé pour moi, c'était selon le schéma suivant.
nom_domaine\nom_utilisateur
À l'aide de la userdir extensions apache sur linux nécessitent d'utiliser le nom d'utilisateur dans l'URL pour accéder à public_html dans le répertoire d'accueil.
PROBLÈME:
Chrome convertit tous les backslash ' \ " caractères dans l'URL de la barre oblique '/' et la résultante de l'url devient comme sous qui est totalement différent et toujours les résultats Pas Trouvé.
Firefox sur l'autre main ne convertit pas de barre oblique inverse à barre oblique afin de requête http à la cible visée est servi par le serveur web.
Common solution is to encode back slash in %5C.
PROBLÈME B:
Si nous utilisons un chemin similaire (contenant \ dans le chemin d'accès) dans le CSS @import construire, le processus d'importation de fichier css comme Requête HTTP Get est échoué par des rapports d'erreur 404 et l'URL signalées dans l'erreur 404 manquer la présence de \ tout à fait. Cela signifie \ est supprimé à partir de l'URL avant d'invoquer la demande d'OBTENIR contre lui.
Ce comportement est commun dans les navigateurs Firefox et Chrome. Mais ils ont rare solutions
Firefox besoins échappé à la barre oblique inverse pour travailler dans le css processus d'importation.
@import url("http://localhost/~nom_domaine\\nom_utilisateur/chemin/vers/css");
Chrome comme d'habitude besoins d'un système de back slash solution.
@import url("http://localhost/~domain_name%5Cuser_name/chemin/vers/css");
- Qu'est-ce que les solutions unifiées de traiter avec \ dans l'URL?
- Est-il un moyen pour éviter une \ à apparaître dans le nom d'utilisateur?
OriginalL'auteur Shoaib Nawaz | 2012-05-03
Vous devez vous connecter pour publier un commentaire.
La solution unifiée pour faire face avec barre oblique inverse dans une URL est d'utiliser le %5C. La RFC 2396 n'ont pas permis que le caractère dans l'Url (de sorte que tout comportement concernant ce personnage, c'était juste de reprise après erreur de comportement). RFC 3986 l'autorise, mais n'est pas largement mis en œuvre, pas moins, car il n'est pas compatible avec l'existant URL processeurs.
Chrome, en particulier, fait la même chose que IE: suppose que vous vouliez dire une barre oblique toutes les fois que vous tapez une barre oblique inverse, comme vous l'avez découvert, parce que c'est ce fichier Windows chemins.
Pourquoi pas? Devrait fonctionner aussi loin que je peux dire.
Mais je l'ai testé.
Vous pouvez lier votre cas de test? Je viens de tester en local, et il semble bien fonctionner.
Je ne pense pas que la RFC 3986 changé le statut de nu "\" dans un URI; il reste invalide.
OriginalL'auteur Boris Zbarsky
Essayez d'utiliser le Slashy add-on de firefox pour vous aider avec elle.Voici un lien vers elle.
Slashy
OriginalL'auteur cafebabe1991
Cette barre oblique inverse conversion automatique problème est résolu dans la version Chrome >= 53.0.2785.116.
Maintenant les barres obliques inverses sont traités correctement comme %5C.
window.location = "<url>";
dans DevTools' de la console.OriginalL'auteur Vasudevan Periasamy