PDA

View Full Version : سوال: مشكل cannot be found با UrlRewriter



merlin_vista
جمعه 03 آبان 1387, 09:30 صبح
سلام :
من ميخواهم UrlRewriter را در برنامه خودم فعال كنم و به اين صورت كد نويسي كردم :

در Web.config :


<configSections>
<section name="rewriter" type="Intelligencia.UrlRewriter.Configuration.RewriterCo nfigurationSectionHandler, Intelligencia.UrlRewriter"/>
</configSections>

<httpModules>
<add name="UrlRewriter" type="Intelligencia.UrlRewriter.RewriterHttpModule, Intelligencia.UrlRewriter"/>
</httpModules>

<rewriter>
<rewrite url="Post-(.+).htm" to="Default.aspx?action=more&amp;id=$1" />

</rewriter>

در Global.asax :

protected void Application_BeginRequest(object sender, EventArgs e)
{

if (Request.Url.ToString().Contains("Post-(.+).htm"))
{
Context.RewritePath("Default.aspx?action=more&amp;id=$1");
}
}

ولي اين پيغام را ميده : :متفکر::گریه:

وقتي اين آدرس را ميزنيم :

http://localhost/HamiSite/Post-36.htm

متن خطا :
The page cannot be found a:link {font:8pt/11pt verdana; color:FF0000} a:visited {font:8pt/11pt verdana; color:#4e4e4e}

The page cannot be found


كجاي كار اشكال داره . :متفکر: آيا بايد كار خاص ديگري انجام بدم :لبخندساده:

ممنون از دوستاني كه كمك ميكنند :قلب:

Amir Taghavi
جمعه 03 آبان 1387, 11:18 صبح
تو Global لازم نیست کدی بنویسی. چون تمام url ها رو تو web.config مشخص کردی.
یه sample واست گذاشتم. شاید بدرت بخوره:

merlin_vista
جمعه 03 آبان 1387, 11:38 صبح
ممنون از كمكتون . ولي اون قسمت Global را هم حذف كردم ؛ ولي دوباره همان مشكل بود .

تمام قسمت ها را هم مثل Sampel شما تغيير دادم ولي بازم همان مشكل بود .

mostafa_sgh
جمعه 03 آبان 1387, 11:56 صبح
سلام به دوستان عزیز

در باره این تاپیک بحث زیاد شده .--> لینک (http://barnamenevis.org/forum/showthread.php?t=117945&page=2)

مشکلی که الان شما با اون روبرو هستید ، تو این خطه :

<rewrite url="Post-(.+).htm" to="Default.aspx?action=more&amp;id=$1" />


شما وقتی صفحه تون از نوع html باشه دیگه IIS برای کامپایل اونو به .Net نمیسپاره .
برا همینم هست که میگه همچین صفحه ای پیدا نمیکنه .
من خودم از این روش تو یکی از سایتها استفاده کردم که در نهایت مشکل اساسی همین مساله بود و اونو با تغییر نوع فرمت صفحه حلش کردم .
یعنی شما باید از .aspx به جای .htm استفاده کنید .

merlin_vista
جمعه 03 آبان 1387, 12:03 عصر
ممنون . مشكل حل شد .
ولي من ميخواهم پسوند htm باشه . براي اون چه كاري انجام بدم

mostafa_sgh
جمعه 03 آبان 1387, 12:12 عصر
هنوز خودم هم درگیر همین موضوع هستم .
البته تو Local مشکلی نداره میشه با همه فرمتها این کارو انجام داد ، ولی هاست چی ؟!!!

و فکر نمیکنم بدون دسترسی به IIS و تغییر MIME بشه اونو حل کرد ....

merlin_vista
جمعه 03 آبان 1387, 19:28 عصر
فكر كنم تو هاستم اگه به مسئول هاست بگيم واسه دايركتوري خودمون اين كار را بكونه . بايد سوال كنيم .