2012-04-18 5 views
1

Sitecoreを使用して、私はメディアのURLをカスタマイズするような何かをやっています。
PageEditorモードでは、 "〜"が "%7E"という問題に遭遇したことがありますか?Sitecoreで「〜」が「%7E」に変わる?

<img src="%7E/media/twitter.gif" alt="Twitter" width="100" height="22" /> 

私が持っている、例えば

、 チェックIE(またはクロム、Firefoxの)内のページのソース、私は

<img src="~/media/twitter.gif" alt="Twitter" width="100" height="22" /> 

、のようなものを期待していたが、この思い付い私のコードをチェックしましたが、私は '〜'を '%7E'に変更するとは思わなかった、 このようなことに会ったことがありますか、私に教えてください。

+0

を使用すると、そのサンプルのリンクを生成するために使用されるコードを入力してください。 –

答えて

3

%7Eは、の場合はURL encodingです。コード化された値を使ったHTMLはまったく問題ありません。

~を使用してユーザーのホームディレクトリ(私が思う)にアクセスしようとしている場合、それを行わないでください。 Web docrootと相対パスと絶対パスについて学び、実際に使用するパスがどのようなものかを理解します。別のユーザーで実行されているアプリは、そのユーザのホームディレクトリに渡された場合

1

~は、自分のホームディレクトリにアクセスするためのショートカットです(または。だから、一般的には~でURLをリードするコーシャーではありません。オン

一方、ブラウザがあれば、クエリ文字列ではないとして、それらと同等にURLエンコードされたチャンクを解決しますたとえば、:。

http://en.wikipedia.org/wiki/Sir%20Mix-a-Lot

はに解決されます

http://en.wikipedia.org/wiki/Sirにさらに解決さをMediaWikiのミックス・ロット

(:

http://en.wikipedia.org/wiki/Sir_Mix-a-Lot

しかし、あなたはWebルートの外にファイルパスにアクセスしようとしている場合は、あなたがエラーを取得する可能性が高いです、特にクライアント側。そしてもしあなたがしなければ、あなたが話を聞く可能性が高いです。

+1

あなたの言ったことは真実ですが、Sitecoreの場合はそうではありません。 Sitecoreはメディア資産のURLを 'http:// hostname /〜/ media /'に書き換えます。 '〜'はホームディレクトリのアクセサではなく、メディアハンドラが一致するパターンをjsutします。 –

1

これまでに回答したように、%7Eは、~シンボルのURLエンコーディングです。

リッチテキストエディタでリンクをコピー&ペーストするときにも同様の問題が発生しています。概して言えば、リッチテキストエディタのHTML出力をコピーするときに、HTMLソースをレンダリングしているブラウザで既に作業しているということです。たとえば、リンクはブラウザによって解決されています(ある特定のホストドメインに対して編集するために著者がSitecoreにログインし、別のホストドメインで動作する場合、リンクはログインしているドメインに解決されます)。

%7Eは、これを行うときに~を置き換える問題がありました。

あなたのケースでは何が起こっているか確かめるために十分な詳細を私にはあまり伝えていませんが、それはかなりそうです。ブラウザでレンダリングされたHTMLをコピーして貼り付ける場合、生の文字列にはアクセスしていません。

EDIT:コピー貼り付け時にリッチテキストエディタのパス情報をリンクに追加した既知のSitecoreバグに関連している可能性があります。サイトコアは、ここでの修正があります。

http://sdn.sitecore.net/Products/Sitecore%20V5/Sitecore%20CMS%206/ReleaseNotes/KnownIssues%20Recommended/Copying%20and%20pasting%20link%20in%20rt%20fields%20may%20break%20the%20link.aspx

関連する問題