0

iis 7.0 から URL リライターを使用すると、ルート URL 文字「~」が正しく機能することに気付きましたが、global.asax ファイルで URL を書き直すと、ファイルが正しくマップされなくなりました。

これはなぜですか?また、global.asax を使用して URL を書き換えるときに、すべてのファイルを適切にマップするにはどうすればよいですか?

If URL.Contains("/myurl/") Then
Context.RewritePath("~\myurl.aspx")
end if
4

1 に答える 1

0

あなたの問題はおそらく、結果のページ URL が有効な場所を参照していないことです。

ユーザーが にアクセスしようhttp://www.yoursite.com/myurl/home.aspxとしていて、そのページが のスタイルシートへの参照を持ってcss/stylesheet.cssいる場合、パスが書き換えられると間違ったものになります。

http://www.yoursite.com/myurl/css/stylesheet.cssこの場合、ブラウザはではなくを探します。http://www.yoursite.com/css/stylesheet.css

スタイルシート参照が相対的な場合は、元の URL からファイルの場所を参照するスタイルシート参照を配置する必要があります。それ以外の場合は、問題を回避するために完全なパスを入力できます。

于 2009-07-17T04:41:26.913 に答える