FAQ |
Kalender |
2005-03-26, 10:31 | #1 | |||
|
||||
Flitig postare
|
Hej,
Jag har stora problem med å,ä och ö i ASP.NET sidor (*.aspx) tillsammans med google. Om man skapar en sida med tecknen: å,ä,ö och döper sidan till "test".aspx och låter google indexera sidan kommer google tolka: Ã¥, ä, ö (detta kan testas enkelt med: http://www.searchengineworld.com/cgi-bin/sim_spider.cgi ) Detta är unikt vad jag erfarat med *aspx . Samma problem finns inte med varken *.php, *.htm, *.html, *.asp, *.jsp osv... Det finns lösningar runt detta problem med att exempelvis i koden använda "html"-å,ä,ö som: å , ä , ö . Detta löser problemet med utgör ett stort jobb för webmastern och speciellt med dynamiska sidor som aspx där viss data kanske kommer från databaser där texten står i klartext. Är det någon som lyckats lösa problemet ?? Jag känner att lösningen borde ligga i att koda någon sträng i web.config som berättar för googles bot vad å, ä och ö är för tecken men jag har inte hittills hittat någon sådan lösning... Tacksam för hjälp ! MVH |
|||
Svara med citat |
2005-03-26, 14:20 | #2 | ||
|
|||
Mycket flitig postare
|
Jag kan inget om ASP.NET, men jag kan PHP och de har väl sina likheter. Hoppas detta kan hjälpa dig.
I PHP skulle jag plocka ut informationen från databasen till en variabel och sen byta ut alla å täcken mot å eller %E5 såhär: Kod:
echo = preg_replace("/å/","%E5",$text); |
||
Svara med citat |
2005-03-26, 15:02 | #3 | ||
|
|||
Mycket flitig postare
|
Men borde det inte räcka att bara sätta rätt text-encoding på dokumentet? Alltså typ
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> eller <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> eller motsvarande http-header... |
||
Svara med citat |
2005-03-26, 16:03 | #4 | ||
|
|||
Mycket flitig postare
|
Citat:
Citat:
|
||
Svara med citat |
2005-03-26, 17:20 | #5 | |||
|
||||
Flitig postare
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
eller <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> funkar inte Det känns som om google har problem så fort ändelsen på filen är aspx, Jag använder faktiskt idag som jozomannen nämde en replace-funktion när jag hämtar data från databasen, men detta är tidsödande och jag vill ha en annan lösning på problemet... |
|||
Svara med citat |
2005-03-26, 21:31 | #6 | |||
|
||||
Klarade millennium-buggen
|
Så du menar att html resultatet skulle särbehandlas bara för att filen har en viss ändelse?
Hmm, jag tror det ligger i att .Net vill leverera den html som webläsaren bäst klarar av via hur den identifierar sig som. Du kan testa att updatera %windir%\System32\inetsrv\browscap.ini och sätta att googlebots useragent ska få html levererat till sig i form av någon mycket vanlig html standard. |
|||
Svara med citat |
2005-03-27, 16:43 | #7 | |||
|
||||
Flitig postare
|
Robert:
Jag har bevisat att enbart ändelsen på filen som google indexerar bestämmer hur å,ä och ö visas av spindeln. Om du skapar exempel följande sida: <html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> å, ä, ö </body> </html> Och sedan döper filen till *.asp , *.php, *.htm, *.html eller *.jsp så kommer googlebot att tolka tecknen helt korrekt. Men om du enbart byter ändelse på filen till *.aspx så kan googlebot helt plötsligt inte tolka å, ä eller ö . Detta kan du själv enkelt testa genom att skapa ovanstående sida, lägga in på en webserver och indexera med: http://www.searchengineworld.com/cgi-bin/sim_spider.cgi Du kan därefter laborera med olika ändelser på filen för att se att min tes stämmer. vad gällande din tes om att: - %windir%\System32\inetsrv\browscap.ini och sätta att googlebots useragent ska få html levererat till sig i form av någon mycket vanlig html standard. Så får du gärna utveckla detta då jag inte riktigt förstod vad du menade. Tack för ditt svar ! |
|||
Svara med citat |
2005-03-27, 17:26 | #8 | ||
|
|||
Mycket flitig postare
|
Men isf kan du bara använda mod_rewrite och skriva in .html istället för .aspx.
En annan sak kan vara att döpa din fil till index.aspx och lägga den i en mapp istället, så istället för omoss.aspx gör du filen index.aspx och sparar den i mappen /omoss, sen besöker du sidan www.dindomän.se/omoss/ funkar det då? |
||
Svara med citat |
2005-03-27, 18:32 | #9 | ||
|
|||
Mycket flitig postare
|
Har du testat att köra telnet på port 80 och se så att det verkligen inte är någonting alls, typ en skum header, som skiljer ett aspx-dokument från ett html-dokument?
|
||
Svara med citat |
2005-03-27, 18:34 | #10 | |||
|
||||
Klarade millennium-buggen
|
Det jag menade var att .Net försöker leverera ett html resultat beroende på vilken webläsare som besöker sidan. Detta gäller främst de controller du har på sidan men det kanske även gäller sidor där man har hårdkodat in ren html.
i browsecap.ini filen finns det useragents registrerade och det är via denna fil som .net lyckas ta reda på vilken webläsare som besöker sidan och då ser vilken html "standard" den bör försöka leverera. Jag trode då att det kunde vara så att googlebot har en sådan useragent att .net trycker in någon konstigt som kan få gb att hantera dina åäö fel. Det var iofs en teori, men om vi ska utesluta .net som "den skyldige" så kan väl köra en webläsare som tillåter dig att bestämma useragents och låtsas vara gb för att åtminstonde se så att svaret ifrån IIS'en är identiskt med det svar du får om du låtsas vara IE etc.. |
|||
Svara med citat |
Svara |
|
|