Jeg har jo haft lidt problemer med at nogle af mine links havde problemer når de kom op på serveren.
Fx har jeg en Controller som har Action metoden Index til at vise grundsiden, og stort set alle andre actions er deres egne sider.
Dette er for at opnå strukturen
/UdviklerCV/Kompetencer
/{Controller}/{Action}/
Og selv samme Action har så også mulighed for input til at give denne struktur
/UdviklerCV/Kompetencer/HTML5
/{Controller}/{Action}/{Input}
Åbenbart på grund af dette får jeg en fejl med at når jeg forsøger at linke til /UdviklerCV så bliver linket lavet med /Index på så den ser sådan her ud /UdviklerCV/Index.
Min løsning indtil videre er at selv lave mine URL'er så jeg kan sikre de passer til SEO som jeg ønsker det.
Der skal overholdes dette:
- Slutte med "/"
- Ingen "Index/" til sidst
- Ingen "Index" til sidst
public static string ToFriendlyURL(string urlToEncode)
{
//urlToEncode = (urlToEncode ?? "").Trim().ToLower();
StringBuilder url = new StringBuilder(urlToEncode);
//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();
}
Bruges sådan her:
PersonalURLHelper.ToFriendlyURL(Url.Action("Index", "EmptyTest"))
//.PersonalURLHelper.ToFriendlyURL(Url.Action("Index", "EmptyTest") + "/InDex/");
Så nu glæder jeg mig til at se om det vil virke når det kommer på produktion også.
Ingen kommentarer:
Send en kommentar
Kan du lide mit indlæg, har en kommentar, forslag eller andet på hjerte så skriv venligst