1

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

たとえば、IE(またはchrome、firefox)でページのソースを確認すると、次のようなものが期待されていました。

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

しかし、これを思いついた、

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

私は自分のコードをチェックしましたが、「〜」を「%7E」に変更するようなことはしなかったと思います。このようなものに出会ったことがあります。もしあれば、教えてください。どうすれば解決できますか。ありがとう

4

3 に答える 3

3

%7EURL エンコーディングです~。エンコードされた値を使用する HTML はまったく問題ありません。

ユーザーのホームディレクトリにアクセスするために使用しようとしている場合~(私はあなたがそうだと思います)、そうしないでください。Web docroot、および相対パスと絶対パスについて学び、実際に使用するパスを決定します。

于 2012-04-18T05:16:18.397 に答える
1

As has been previously answered, %7E is the URL encoding of the ~ symbol.

We have had a similar problem when copy-pasting links in the rich text editor. Broadly speaking, what seems to be happening is that when copying the HTML output of the rich text editor we are already working in a browser, which is rendering the HTML source. Links, for example, are being resolved by the browser (so that if an author is logged into Sitecore to edit for one particular host domain but works on a different host domain the links resolve to the domain they are logged in for).

We have had the specific %7E replacing ~ problem when doing this as well.

You don't quite give enough details for me to be sure this is what is happening in your case, but it seems fairly likely. If you're copy-pasting browser rendered HTML then you aren't accessing the raw strings.

EDIT: This is probably related to a known Sitecore bug with adding path information for the rich text editor to a link when copy pasting. Sitecore have a fix for it here:

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

于 2012-04-19T10:02:49.627 に答える
1

~は、ホーム ディレクトリ (または、別のユーザーで実行されているアプリに渡された場合は、そのユーザーのホーム ディレクトリ) にアクセスするためのショートカットです。したがって、通常、URL に~.

一方、ブラウザは、クエリ文字列にない限り、URL エンコードされたチャンクを同等のものに解決します。例えば:

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

次のように解決されます。

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

(このメディアウィキはさらに次のように解決します:

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

ただし、webroot の外部にあるファイル パスにアクセスしようとすると、特にクライアント側でエラーが発生する可能性があります。そうしないと、捕まった場合に話しかけられる可能性があります。

于 2012-04-18T05:24:34.260 に答える