[〜#〜]背景[〜#〜]
私のubuntuワークステーションがActiveDirectoryのドメインで構成されているときの私の経験によると、私のために作成されたユーザー名は次のパターンに従っていました。
domain_name\user_name
LinuxでApacheのuserdir拡張子を使用するには、ホームディレクトリのpublic_htmlにアクセスするために、URLでユーザー名を使用する必要があります。
問題A:
Chromeは、URL内のすべてのバックスラッシュ '\'文字をスラッシュ '/'に変換し、結果のURLはその下のようになりますは完全に異なり、常に結果見つかりません。
一方、Firefoxはバックスラッシュをフォワードスラッシュに変換しないため、目的のターゲットへのhttpリクエストはWebサーバーによって処理されます。
Common solution is to encode back slash in %5C.
問題B:
CSS @importコンストラクトで同様のパス(パスに\を含む)を使用すると、HTTP Get Requestとしてのcssファイルのインポートプロセスが失敗し、404エラーとURLが報告されます。 404エラーでは、\の存在を完全に見逃します。これは、\がURLに対してGETリクエストを呼び出す前にURLから削除されることを意味します。
この動作はFirefoxとChromeで一般的です。しかし、彼らには珍しい解決策があります
Firefoxは、cssインポートプロセスで機能するためにバックスラッシュをエスケープする必要があります。
@import url( " http:// localhost/〜domain_name \\ user_name/path/to/css ");
Chromeには通常、エンコードされたバックスラッシュソリューションが必要です。
@import url( " http:// localhost/〜domain_name%5Cuser_name/path/to/css ");
URLのバックスラッシュを処理するための統合ソリューションは、%5Cを使用することです。 RFC 2396は、URLでその文字をまったく許可していませんでした(したがって、その文字に関する動作は、単なるエラー回復動作でした)。 RFC 3986はそれを許可しますが、特に既存のURLプロセッサと正確に互換性がないため、広く実装されていません。
特にChromeは、IEと同じことを行います。つまり、Windowsのファイルパスが行うことであるため、バックスラッシュを入力するたびにスラッシュを意味していると想定します。
FirefoxでSlashyアドオンを使用してみてください。これは、Firefoxへのリンクです。
このバックスラッシュの自動変換の問題は、Chromeバージョン> = 53.0.2785.116で修正されました。
これで、円記号は%5Cとして適切に扱われます。