ASP.Net WebForm和IIS重写规则,用于在所有url中添加国家/地区代码

问题描述:

对不起,张贴这种代码没有任何努力,因为我没有处理这种情况与iis重写规则的基本想法。我已经看到人们用iis重写规则处理这个问题,但是我不知道在i.rewrite规则的web.config文件中写什么。ASP.Net WebForm和IIS重写规则,用于在所有url中添加国家/地区代码

我有一个关于URL重写的小问题。假设我想在我的所有网址中添加国家/地区代码,比如说www.mysite.com/gb/home.aspx或www.mysite.com/de/home.aspx,但不会有名为gb或de的文件夹,而当上述类型的URL将被发布然后我需要内部发送请求到我的根home.aspx文件和国家代码将作为查询字符串传递。我怎样才能实现这与IIS重写规则。我想我们需要处理它与iis重写规则,但我不知道如何iis重写规则将看起来像这种情况。如果有人知道,那么可以共享iis重写规则的代码,我需要在web.config文件中写入。

请帮助我与示例iis重写规则,我需要在web.config文件中写入。 谢谢

如果您使用重写模块,然后these instructions应该帮助你。

我用正则表达式的专家,但我想你会最终在web配置类似这样的重写规则:

<rule name="Rewrite language code"> 
    <match url="^([a-z]+)/([0-9a-z]+).aspx" /> 
    <action type="Rewrite" url="/{R:2}.aspx?lang={R:1}" /> 
</rule> 

如果你想只在两种字符匹配语言代码,那么你可能会调整第一个匹配组来做到这一点。

+0

我不知道你在这里分享的代码。会介意解释它。这是什么意思'url =“^([az] +)/([0-9a-z] +)。aspx”'和'url =“/ {R:2} .aspx?lang = {R:1 “”请解释一下。感谢 –

+0

上述规则将是入站或出站规则? –

+0

这将是一个入站规则。代码是所有匹配特定模式的正则表达式。链接的页面会比我所能解释的更好,正则表达式可能会变得非常复杂。 –