バックグラウンド
私の ubuntu ワークステーションが Active Directory のあるドメインで構成されているときの私の経験によると、作成されたユーザー名は次のパターンに従っていました。
ドメイン名\ユーザー名
Linux で apacheのuserdir拡張機能を使用するには、ホーム ディレクトリの public_html にアクセスするために、URL でユーザー名を使用する必要があります。
問題 A:
Chrome は URL 内のすべてのバックスラッシュ「\」文字をスラッシュ「/」に変換し、結果の URL は以下のようになり、それはまったく異なり、常にNot Foundという結果になります。
一方、Firefox はバック スラッシュをスラッシュに変換しないため、意図したターゲットへの http リクエストは Web サーバーによって処理されます。
Common solution is to encode back slash in %5C.
問題 B:
CSS @import コンストラクトで同様のパス (パスに\を含む) を使用すると、HTTP Get Request としての css ファイルのインポート プロセスが 404 エラーを報告して失敗し、404 エラーで報告された URL に\の存在が完全に欠落します。これは、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の\を処理するための統一されたソリューションは何ですか?
- ユーザー名に\が表示されないようにする方法はありますか?