[英]Rewrite rules for localization
我需要翻译一个网站,也要使用友好的URL !,但是对于我的问题,我无法执行重写规则。 我需要这样的东西。
I've => http://test.com/test
I need => http://test.com/en-US/test
知道这一点,我还有另一个规则,可以与这种新形式结合使用。
<rule name="products">
<match url="^products/([0-9]+)/([a-zA-Z0-9_-]+)/?$" ignoreCase="true"/>
<action type="Rewrite" url="/products/Detail.aspx?t={R:1}&i={R:2}" appendQueryString="false"/>
</rule>
复制规则并放入每个句子中不是一个好习惯,但是该怎么做呢?
我很高兴有人尝试帮助我。 致以我的问候!
public class LocaleParser : IHttpModule
{
public void Init(HttpApplication context)
{
context.BeginRequest += context_BeginRequest;
}
void context_BeginRequest(object sender, EventArgs e)
{
var req = HttpContext.Current.Request.Url.AbsoluteUri;
var targetUrl = req;
if (req.IndexOf('/') != -1)
{
var langparm = req.Split('/')[1].ToLower();
switch (langparm)
{
case "pt":
HttpContext.Current.Items["locale"] = "PT";
targetUrl = req.Substring(3);
break;
case "en":
HttpContext.Current.Items["locale"] = "EN";
targetUrl = req.Substring(3);
break;
case "es":
HttpContext.Current.Items["locale"] = "ES";
targetUrl = req.Substring(3);
break;
}
}
}
}
我解决了使用此HTTP模块:D的问题。 这个家伙帮我
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.