http://(ホスト名)
トレイリングスラッシュがある場合も、トレイリングスラッシュがない場合でも
img/image01.png
のリンク先は、以下のURLになります。http://(ホスト名)/img/image01.png
http://(ホスト名)/(ディレクトリ名)/app/
http://(ホスト名)/(ディレクトリ名)/app
img/image01.png
の場合、トレイリングスラッシュがある場合は次のURLになりアクセスできます。http://(ホスト名)/(ディレクトリ名)/app/img/image01.png
http://(ホスト名)/(ディレクトリ名)/img/image01.png
http://(ホスト名)
img/image01.png
のリンク先は、以下のURLになります。http://(ホスト名)/img/image01.png
http://www.ipentec.net/testapp/app
http://www.ipentec.net/testapp/app/
http://www.ipentec.net/testapp/app
は http://www.ipentec.net/testapp/app/default.aspx
へのアクセスとなり、
自動でhttp://www.ipentec.net/testapp/app/
へのリダイレクトが動作するため、問題になることは少ないです。http://www.ipentec.net/testapp/app
http://www.ipentec.net/testapp/app/
~
演算子が使用でき、アプリケーションルートからの相対URLを記述できるため、
トレイリングスラッシュあり、なし、どちらのURLにアクセスした場合でも RazorPages内であれば、~/img/image01.png
のURLであれば、
http://(ホスト名)/img/image01.png
を参照できます。またリンクも同様に ~
演算子が利用できます。http://www.ipentec.net/testapp/app
http://192.168.0.1/testapp/app
www.ipentec.net/testapp/app
を 192.168.0.1/testapp/app
と書き換えることで対応できます。http://www.ipentec.net/testapp/app
にアクセスした場合、URLの書き換えで、http://192.168.0.1/testapp/app
に変わり、
アプリケーションのディレクトリアクセス時にトレイリングスラッシュありにリダイレクトされ、http://192.168.0.1/testapp/app/
の
リダイレクトになり、結果 http://www.ipentec.net/testapp/app/
にリダイレクトされる動作となります。www.ipentec.net/testapp/app
を 192.168.0.1/testapp/app/
とトレイリングスラッシュありで書き換えてしまう場合、
アプリケーション側でのリダイレクトが発生しないため、http://www.ipentec.net/testapp/app
のURLで http://192.168.0.1/testapp/app/
のコンテンツが表示されるため、
リンクの不整合が発生してしまいます。{
"ReverseProxy": {
"Routes": {
"TestRoute": {
"ClusterId": "TestCluster",
"Match": {
"Path": "/testapp/{**any}"
},
"Transforms": [
{
"PathRemovePrefix": "/testapp"
}
]
}
},
"Clusters": {
"TestCluster": {
"Destinations": {
"testapp": {
"Address": "http://192.168.0.1/testapp"
}
}
}
}
}
}
"Clusters": {
"TestCluster": {
"Destinations": {
"testapp": {
"Address": "http://192.168.0.1/testapp/"
}
}
}
}