Hejsa
Nu vil jeg lave alle links om til at være SEO-friendly. Altså således at jeg sikrer at alle links får "/" til sidst, og at "/Index" fjernes fra mine links også.
Nogle gode råd eller foreslag til hvordan jeg gør det bedst?
Er det bedst at lave en wrapper-metode der selv kalder url.Action(Controller, Action) til en streng, for derefter at se om den ender på "Index" eller "Index/" og fjerne dette, og til sidst se om jeg skal tilføje "/"?
Første løsning blev:
-  public static string ToFriendlyURL(string urlToEncode)
-  {
-          StringBuilder url = new StringBuilder(urlToEncode.Trim());
-          //Fjern "/Index" og "Index" til sidst
-          if (url.ToString().ToLower().EndsWith("index/") || url.ToString().ToLower().EndsWith("index"))
-          {
-          //Check for "/index"
-          int indexOfText = url.ToString().ToLower().IndexOf("index/");
-          if (indexOfText >= 0)
-                  url = url.Remove(indexOfText, (url.Length-indexOfText));
-  
-          //Check for "index"
-          indexOfText = url.ToString().ToLower().IndexOf("index");
-          if (indexOfText >= 0)
-                  url = url.Remove(indexOfText, (url.Length-indexOfText));
-  
-          }
-  
-          if (!url.ToString().EndsWith("/"))
-                  url.Append("/");
-  
-          //Replace illegal characters
-          url = url.Replace("C#", "CSHARP");
-          url = url.Replace("c#", "csharp");
-          url = url.Replace("#", "-");
-          url = url.Replace("&", "-");
-          url = url.Replace(".", "-"); //er "." dårligt for SEO fordi den tror det bliver extension?
-          url = url.Replace(" ", "-");
-  
-          return url.ToString();
-  }
Som så kan kaldes således
-  .ToFriendlyURL(Url.Action("ActionHere", "ControllerHere"))
Så må vi se om det kan hjælpe når det kommer på produktionsserveren senere.
						
						
						
						
		
							Indlæg senest redigeret d. 20.12.2012 17:31 af Bruger #17215