404 on Cyrillic Pages

Topics: ASP.NET 2.0
Aug 6, 2007 at 4:09 PM
I created a new page with cyrillic title and have got a 404 error.

Stack trace:
HttpException: The file '/page/Ну-типа-биография.aspx' does not exist.
at System.Web.UI.Util.CheckVirtualFileExists(VirtualPath virtualPath)
at System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile)
at System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile)
at System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, Boolean noAssert)
at System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath virtualPath, Type requiredBaseType, HttpContext context, Boolean allowCrossApp, Boolean noAssert)
at System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath)
at System.Web.UI.PageHandlerFactory.System.Web.IHttpHandlerFactory2.GetHandler(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath)
at System.Web.HttpApplication.MapHttpHandler(HttpContext context, String requestType, VirtualPath path, String pathTranslated, Boolean useAppConfig)
at System.Web.HttpApplication.MapHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

Thanks.
Aug 15, 2007 at 4:13 AM
I second this one.

Same thing, I'm creating a cyrillic page and I get the same error. If I look in the "pagelist" control I see the title, but when I click the link to the page I get the same 404

Unfortunately, page title maps to the page name and cyrillic page name trips this up.

How about an option to give a page name an english name for url and still being able to put cyrillic in the page title?

Thanks for any help on this
Aug 15, 2007 at 4:30 AM
to add to that, kind of the same thing happens with adding posts.

Say I'm adding a new post entry, I give it a cyrillic name like "Включить-комментарии", add post content and try to save. It saves the post, but when it tries to redirect to it, I get following error.

"Description: HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable. Please review the following URL and make sure that it is spelled correctly.
Requested URL: /BlogEngine.NET/post/Включить-комментарии.aspx

Now, if I go to front page, my new post is there all fine, until I click on it's title to get redirected to it and get the same error again.

Thanks
Aug 15, 2007 at 7:04 AM
I made a small "hack": added a RU-EN transliteration feature to BlogEngine.Core.Utils.RemoveIlegalCharacters() method.

Transliteration is made by GOST-a 7.79-2000 standard. For example, http://localhost/hiym2/page/Testovaja-stranica.aspx

Uril.cs:
http://helloimyourmind.com/upload/Utils.cs.zip

--
Offtop: I tried to place this file using "Upload file" feature but received following on trying to download it:

_Internet Explorer cannot download file.axd?file=Utils.cs.zip from helloimyourmind.com.
Internet Explorer was not able to open this Internet site. The requested site is either unavailable or cannot be found. Please try again later._
Aug 15, 2007 at 8:45 AM
RU-EN hack is a nice feature for cyrillic users, but...

As we can see from the road map (http://www.dotnetblogengine.net/page/road-map.aspx), BE Team is planning to add <Slug - you control the url of each post regardless of the title> feature. so we've got to wait till 1.2 release :)