【发布时间】:2015-09-01 18:06:30
【问题描述】:
我正在为 IIS 编写自定义重写提供程序,以根据是否满足某些条件将用户发送到不同的站点。因此,如果用户符合条件,则 url 不会被重写,用户可以正常进行。如果用户不符合标准,则 url 将被重写以加载不同的站点,同时看起来在同一个 url 上。
如果像这样设置提供程序的重写部分,则 url 不受影响,并且用户按预期发送到站点。
public string Rewrite(string value)
{
return value;
}
如果将提供程序的重写部分设置为这样,则 URL 被重写,并且用户被发送到备用站点。
public string Rewrite(string value)
{
return alternateSite;
}
但是,如果我使用以下设置,如果用户不符合他们最终在备用站点中预期的条件。但是,如果它们确实符合条件,它们最终会进入重定向循环。
public string Rewrite(string value)
{
string newVal = alternateSite;
if (user != null)
{
if (user.status == 1)
{
newVal = value;
}
}
return newVal;
}
关于如何防止此循环并正确加载网站的任何想法。
谢谢
EDIT 对此仍然不满意。我怀疑如果用户满足凭据(相当于在标准重写规则上将操作设置为无),我是否可以让提供程序不执行重写,那么它应该继续正常加载。但是我不知道该怎么做。
【问题讨论】:
标签: c# iis url-rewriting arr