私はいくつかの記事を格納するウェブサイトを構築しています。各記事のURLは、/ Articles/{categoryid}/{articleslug}の形式でURLルーティングを実装しています。URLルーティングと相対リンクの動作
一部の記事には、グラフィックファイルへのリンクがあります。リンクは完全なパスを指定していないので、私は/Articles/{categoryid}/{articleslug}/graphic.jpgにグラフィックスファイルを保存しています。
これは私のデスクトップで正常に動作します。しかし、共有ホスティングアカウントにサイトを展開したときの動作は異なります。
リンクは、グラフィックファイルを/Articles/{categoryid}/graphic.jpgに保存すると機能します。つまり、私のデスクトップでは、{articleslug}はディレクトリとみなされますが、Web上では現在のページの名前とみなされます。
行動が変わる理由は誰にも分かりますか?例はhttp://www.blackbeltcoder.com/Articles/asp/creating-website-thumbnails-in-asp-netです。上のスクリーンショットとダウンロードリンクの両方が壊れたリンクです。
私は上記のURLに「/」を付けるとディレクトリ名とみなされ、リンクは正常に機能することに気付きました。しかし、私はまだ私がデスクトップ上でこれを必要としなかった理由、または私がこれを制御できるかどうかを理解していません。 –
私のコメントで述べた開発サーバーとIISの違いを除いて、私は自分のページに タグを指定する方向に傾いています。そうすれば、相対リンクの意味を正確に制御できるはずです。 –