繁体   English   中英

重写本地化规则

[英]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}&amp;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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM