これは間違いなく Url Aliases パッケージのバグです。
これを回避する最も簡単な方法は、少なくとも修正が公開されるまで、独自の http モジュールを展開することです。GitHub のパッケージのリポジトリからソースを取得し、微調整して問題を修正できます。バンドルされている http モジュールを web.config から登録解除し、代わりに独自のモジュールを登録してください。
現在の http モジュールのソースはこちら: https://github.com/CPHCloud/c1packages-urlaliases/blob/v1.0.2/CphCloud.Packages.UrlAlias/UrlAliasHttpModule.cs
次のように、 の値を の代わりにincomingUrlPath
使用するように変更します。PathAndQuery
AbsolutePath
...
static void httpApplication_BeginRequest(object sender, EventArgs e)
{
var httpApplication = (HttpApplication)sender;
var incomingUrlPath = HttpUtility.UrlDecode(httpApplication
.Context.Request.Url.PathAndQuery.TrimEnd(new[] { '/' }));
....
web.config ファイルで、Url エイリアスのハンドラーを登録解除する必要があります。
<!--add name="UrlAlias" type="CphCloud.Packages.UrlAlias.UrlAliasHttpModule,
CphCloud.Packages.UrlAlias,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" /-->
そして自分自身を登録する
<add name="CustomUrlAlias" type="CphCloud.Packages.UrlAlias.UrlAliasHttpModule,
YourAssemblyName,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"/>
完全な開示: 私は URL エイリアス パッケージの作成者です。