簡體   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