絶対的なURLをASPで生成する方法.ネットコア
URLはウェブをウェブにするものです.ASP .ネットコアコントローラ、かみそりページ、およびレイザービューは、ある
これは絶対パスだけですが、それは有効なURLです.ただし、スキーム、ホスト名、ドメイン名、ポートを含む絶対URLを取得したい場合もあります.この目的のために
しかし、あなたがそれを省略するなら
ASP . NETでHTTPリクエストを処理している場合.NETコア、また、
どのような場合にアクセスする必要はありません
また、現在のHTTPリクエストの絶対ベースURLを作成することもできます
現在の絶対パスを含む完全な絶対URLを必要とする場合は、以下のCの式を使用できます.
あなたのコードで処理しているHTTPリクエストがない場合は、
デフォルトでは
また、手動で絶対URLを使用してビルドすることができます
ほとんどの場合、絶対パスを使用して、それはあなたのHTMLにいくつかの文字を保存しますが、絶対的なURLは、技術的なSEOや社会的なメタタグのように時々必要です.
Url
にアクセスできるプロパティUrlHelper
. 使用UrlHelper
あなたはMVCのアクション、ページ、ルートにURLを生成することができます.このCの式を見てみましょう.Url.Action(action: "Home", controller: "Privacy")
この式の結果は、Privacy
アクションオンザHomeController
: "/Home/Privacy"
.これは絶対パスだけですが、それは有効なURLです.ただし、スキーム、ホスト名、ドメイン名、ポートを含む絶対URLを取得したい場合もあります.この目的のために
UrlHelper
を指定するprotocol
どちらが計画ですかhost
これはホスト名かドメイン名です.このCの式を見てみましょう.Url.Action(action: "Home", controller: "Privacy", values: null, protocol: "https", host: "your-website")
プロトコルとホストを指定することによって"https://your-website/Home/Privacy"
.しかし、あなたがそれを省略するなら
host
パラメータですがprotocol
パラメータはまだ絶対URLです.host
パラメータは現在のHTTPリクエストに使用されるホストに対してデフォルトとなります.Url.Action(action: "Home", controller: "Privacy", values: null, protocol: "https")
結果は次のようになります"https://localhost:7184/Home/Privacy"
. このHTTPリクエストを使用するホストとポートは、このURLを生成するために使用されます.ASP . NETでHTTPリクエストを処理している場合.NETコア、また、
Scheme
プロパティHttpRequest
, それで、あなたはその計画をprotocol
現在のHTTPリクエストと同じスキームとホストを持つURLを生成するパラメータです.Url.Action(action: "Privacy", controller: "Home", values: null, protocol: Request.Scheme)
また、Request.Host
としてhost
パラメータを指定すると、現在のHTTPリクエストからホストを使用している必要はありませんprotocol
を指定せずにhost
パラメータどのような場合にアクセスする必要はありません
UrlHelper
または、あなたはその方法でURLを構築する必要がありますUrlHelper
サポートしませんか?また、現在のHTTPリクエストの絶対ベースURLを作成することもできます
HttpRequest
. 次のコードは絶対パスの絶対URLをビルドします.$"{Request.Scheme}://{Request.Host}{Request.PathBase}/your/custom/path"
この式の結果は"https://localhost:7184/your/custom/path"
.現在の絶対パスを含む完全な絶対URLを必要とする場合は、以下のCの式を使用できます.
$"{Request.Scheme}://{Request.Host}{Request.PathBase}{Request.Path}"
何がHTTPリクエストがない場合は?あなたのコードで処理しているHTTPリクエストがない場合は、
BackgroundWorker
, あなたはスキームを取得し、いくつかの他の方法をホストする必要があります.あなたの設定にあなたの希望のスキームとホストを格納したり、単一のプロパティで一緒に組み合わせることができますし、設定に格納します.一度設定、構成からそれを抽出し、絶対URLを構築するために使用します.結論
デフォルトでは
UrlHelper
メソッドは絶対的な絶対パスを生成します.絶対パスは、絶対パスと同じではありません.しかし、UrlHelper
メソッドは、完全な絶対URLを生成できるようなオーバーロードを含みます.また、手動で絶対URLを使用してビルドすることができます
HttpRequest
プロパティや、指定したスキームとホスト名を設定から保存してから取り出します.ほとんどの場合、絶対パスを使用して、それはあなたのHTMLにいくつかの文字を保存しますが、絶対的なURLは、技術的なSEOや社会的なメタタグのように時々必要です.
Reference
この問題について(絶対的なURLをASPで生成する方法.ネットコア), 我々は、より多くの情報をここで見つけました https://dev.to/swimburger/how-to-generate-absolute-urls-in-aspnet-core-md3テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol