Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 模拟重定向到umbraco v 4.7.2中的操作_.net_Umbraco_Url Redirection_Umbraco4 - Fatal编程技术网

.net 模拟重定向到umbraco v 4.7.2中的操作

.net 模拟重定向到umbraco v 4.7.2中的操作,.net,umbraco,url-redirection,umbraco4,.net,Umbraco,Url Redirection,Umbraco4,我有一个umbraco v 4.7.2,应该执行用户激活。 当新用户在站点上注册时,它会收到一封带有激活链接的电子邮件 比如说,链接是 http://www.example.com/activate?user=john&?activationCode=s0m3Act1vat1on_c0d3 在umbraco BackOffice中有一个页面,位于任意位置,例如 siteRoot\aFolder\UserActivation 我在umbraco有多个站点(比如“Example1 EN”

我有一个umbraco v 4.7.2,应该执行用户激活。 当新用户在站点上注册时,它会收到一封带有激活链接的电子邮件

比如说,链接是

http://www.example.com/activate?user=john&?activationCode=s0m3Act1vat1on_c0d3
在umbraco BackOffice中有一个页面,位于任意位置,例如

siteRoot\aFolder\UserActivation
我在umbraco有多个站点(比如“Example1 EN”、“Example1 FR”、“Example2 EN”)。 每个站点都有自己的激活页面(处理激活)。为了在代码中获取该页面的地址,我在站点主页上创建了一个ContextPicker参数(名为
ActivationPage

我应该如何将固定路径
mysite.com/activate?+params
重定向到该
ActivationPage
以处理激活

如果我使用URLRewite,该模块如何访问单个站点的设置


注:当我说模拟重定向到某个操作时,我是认真的,因为我们没有真正的控制/操作机制(我不确定umbraco 4是否能支持它)

你不需要MVC来做这件事。您只需要能够重写或重定向请求

因此,您可以使用~/config/UrlRewrite.config文件添加重定向,或者如果您使用的是IIS7+,则可以使用UrlRewrite2模块并在web.config中指定重定向路径

编辑:

根据新信息,您可能需要在标识目标站点的查询字符串中包含一个参数。通过这种方式,您可以轻松使用UrlRewrite.config或IIS的UrlRewrite2模块


如果您不能这样做,那么您需要在地址处有一个物理发布的页面/或文件。然后必须通过母版页的codebehind类为您执行重定向。

要获得重定向URL,URLRewite应该访问为每个具体站点指定的“ActivationPage”参数。通常,url重写会获取一个url并给出另一个url,不管具体的站点特定参数是什么,不是吗?比如说,我有mysiteEN mysiteFR myothersiteES,每个站点都有自己的地址来激活用户。您可以轻松地将querystring参数传递到重定向的URL。但是,如果您的场景比直接重定向更复杂,那么您应该在问题中对此进行详细说明。在站点根节点中,我声明了一个通用参数“ActivationPage”,该参数指定了处理激活的url。因此,当我收到example.com/activate?+参数时,我应该1)从站点根节点恢复重定向url,2)重定向到url。“UrlRewrite”模块如何识别目标站点及其根节点参数?a)每个用户总是收到相同的(主)激活链接:
http://www.example.com/activate?u=name&c=code
b)“示例”站点具有参数“activationPage”=='/user/activation',最后,站点应该将请求重定向到
http://www.example.com//user/activation?u=name&c=code
我不确定这里有什么困难。每个站点需要一条规则。要重定向到的所有请求,然后为每个其他站点指定一条规则。您所要做的就是确保将名称和代码参数传递给重定向,这在UrlRewrite.config(使用regex)或UrlRewrite2中很容易实现。