如何使用重写中间件指定不区分大小写的规则?

Zoi*_*nky 3 c# regex asp.net-core

我有以下几点:

var options = new RewriteOptions()
    .AddRedirect("home/(.*)", "/$1")
    .AddRedirect("Home/(.*)", "/$1")
    .AddRedirect("downloadics/(.*)", "ics/$1")
    .AddRedirect("DownloadICS/(.*)", "ics/$1");
Run Code Online (Sandbox Code Playgroud)

我想拥有它,以便我可以只有一个家庭条目和一个下载 ics 条目,并且不区分大小写。

我试图传递(?)到正则表达式的前面,但它似乎爆炸了。

pok*_*oke 8

您可以通过(?i)在开头添加 a 使这些正则表达式不区分大小写。这添加了i通常表示“不区分大小写”的标志:

var options = new RewriteOptions()
    .AddRedirect("(?i)home/(.*)", "/$1")
    .AddRedirect("(?i)downloadics/(.*)", "ics/$1");
Run Code Online (Sandbox Code Playgroud)