PDA

View Full Version : سوال در مورد URLRewriting



r0ot$harp
شنبه 13 بهمن 1386, 20:45 عصر
سلام بچه ها خوبید
من یه سوال دارم اونم اینکه می خوام بدونم چه جوری می شه که :

آدرس لینک ها به این صورت در بیاد : defualt.aspx?TabID=3804&Site=tehran&Lang=IR


یعنی تمام بخش های سایت این جوری باشه و فقط این قسمت تغییر کند : TabID=3804
مثلا برای رفتن به قسمت news.aspx اینجوری تعریف بشه : defualt.aspx?TabID=2025&Site=tehran&Lang=IR

Behrouz_Rad
شنبه 13 بهمن 1386, 23:10 عصر
این چیزی که میگی ارتباطی با URL Rewriting نداره.
در مثالی که زدی URL تغییر نمی کنه! Query String ای معادل با نوع عملیات به صفحه ی اصلی برنامه پاس داده میشه.
در این حالت نوع ماژول مرتبط با اون عملیات لود و اجرا میشه که البته توضیحش کمی از حوصله خارج هست. DNN یا پرتال Douran از این روش استفاده می کنند.
راه های مختلفی برای پیاده سازی این حالت وجود داره که یکی از راه ها می تونه استفاده از یک Handler باشه.

موفق باشید.

r0ot$harp
یک شنبه 14 بهمن 1386, 01:16 صبح
این چیزی که میگی ارتباطی با URL Rewriting نداره.
در مثالی که زدی URL تغییر نمی کنه! Query String ای معادل با نوع عملیات به صفحه ی اصلی برنامه پاس داده میشه.
در این حالت نوع ماژول مرتبط با اون عملیات لود و اجرا میشه که البته توضیحش کمی از حوصله خارج هست. DNN یا پرتال Douran از این روش استفاده می کنند.
راه های مختلفی برای پیاده سازی این حالت وجود داره که یکی از راه ها می تونه استفاده از یک Handler باشه.

موفق باشید.

آقا بهروز می تونی در مورد اینکه باید چه جوری از این روش استفاده کنم و چی کار باید بکنم یه توضیحی می دین .

باتشکر

mahdi_farhani
یک شنبه 14 بهمن 1386, 08:38 صبح
با اجازه آقای راد ، من یه توضیح کوچیک میدم !!!!!
شما در دیتابیستون جدولی دارید که اطلاعات هر صفحه را در خود ذخیره میکند و هریک از رکورد های شما یک ID دارد که کلید جدول مربوط هست ، حالا به وسیله QueryString که به صفحه پاس داده میشه که یکشیون همون ID هست اطلاعات خواسته شده را از دیتابیس خوانده و درون صفحه نگه داری میشود .
بازم اینجا نمایش اطلاعات روشهای مختلفی داره ، که اونم بستگی به ذخیره سازی اطلاعات درون پایگاه داده داره ،

Behrouz_Rad
یک شنبه 14 بهمن 1386, 13:06 عصر
کاری رو که قصد داری انجام بدی به دو شکل میشه پیاده سازی کرد.
1) لود کردن ماژول که برخی سایت ها از اون استفاده می کنند که توضیح تکنیکش کمی پیچیده و عجیب! هست و از حوصله خارجه.
2) استفاده از URL Mapping یا URL Rewriting

تکنیک اول بهتر و جدیدتره اما پیچیده است و شاید مثل معماری MVC کمی توی ذوق بزنه و عطاش رو به لقای اون ببخشی ;)

URL Mapping تکنیک دیگه ای هست که در ASP.NET 2.0 معرفی شد که دو اشکال عمده داره:
1) استاتیک هست.
2) امکان استفاده از RegEx در اون وجود نداره.

استفاده از URL Rewriting مناسب هست. این تکنیک دو مشکل قبلی رو نداره اما هم URL Mapping و هم URL Rewriting در یک مشکل مشترک هستند.
اگر به صفحه ای که در Rewriting شرکت می کنه PostBack بشه، URL اصلی لو میره و در Address bar قرار می گیره.
برای رفع این مشکل ترفندی که استفاده میشه حذف خاصیت action تگ form با استفاده از روال RenderAttributes هست.

به عنوان مثالی از URL Rewriting برای URL ای که گفتی:


<urlrewrites>
<rule name="news Page">
<url>/default.aspx?TabID=(\d)&amp;Site=tehran&amp;Lang=IR</url>
<rewrite>/news.aspx</rewrite>
</rule>
</urlrewrites>

اگر از آدرس های استاتیک استفاده می کنی URL Mapping کفایت می کنه.
در نهایت پیشنهاد می کنم در مورد URL Rewriting در گوگل جستجو کنی. مقالات زیادی در این مورد پیدا می کنی.

موفق باشید.

r0ot$harp
یک شنبه 14 بهمن 1386, 18:40 عصر
کاری رو که قصد داری انجام بدی به دو شکل میشه پیاده سازی کرد.
1) لود کردن ماژول که برخی سایت ها از اون استفاده می کنند که توضیح تکنیکش کمی پیچیده و عجیب! هست و از حوصله خارجه.
2) استفاده از URL Mapping یا URL Rewriting

تکنیک اول بهتر و جدیدتره اما پیچیده است و شاید مثل معماری MVC کمی توی ذوق بزنه و عطاش رو به لقای اون ببخشی ;)

URL Mapping تکنیک دیگه ای هست که در ASP.NET 2.0 معرفی شد که دو اشکال عمده داره:
1) استاتیک هست.
2) امکان استفاده از RegEx در اون وجود نداره.

استفاده از URL Rewriting مناسب هست. این تکنیک دو مشکل قبلی رو نداره اما هم URL Mapping و هم URL Rewriting در یک مشکل مشترک هستند.
اگر به صفحه ای که در Rewriting شرکت می کنه PostBack بشه، URL اصلی لو میره و در Address bar قرار می گیره.
برای رفع این مشکل ترفندی که استفاده میشه حذف خاصیت action تگ form با استفاده از روال RenderAttributes هست.

به عنوان مثالی از URL Rewriting برای URL ای که گفتی:


<urlrewrites>
<rule name="news Page">
<url>/default.aspx?TabID=(\d)&amp;Site=tehran&amp;Lang=IR</url>
<rewrite>/news.aspx</rewrite>
</rule>
</urlrewrites>
اگر از آدرس های استاتیک استفاده می کنی URL Mapping کفایت می کنه.
در نهایت پیشنهاد می کنم در مورد URL Rewriting در گوگل جستجو کنی. مقالات زیادی در این مورد پیدا می کنی.

موفق باشید.

باتشکر از آقا بهروز گل
فقط در مورد این خط اگر می شود یه توضیحی دهید .


برای رفع این مشکل ترفندی که استفاده میشه حذف خاصیت action تگ form با استفاده از روال RenderAttributes هست.

باتشکر

r0ot$harp
دوشنبه 15 بهمن 1386, 00:10 صبح
کسی نیست جواب سوال ما رو بده .

scorpion_man
دوشنبه 15 بهمن 1386, 01:01 صبح
باتشکر از آقا بهروز گل
فقط در مورد این خط اگر می شود یه توضیحی دهید .


برای رفع این مشکل ترفندی که استفاده میشه حذف خاصیت action تگ form با استفاده از روال RenderAttributes هست.

باتشکر

در همون مقاله هایی که جناب بهروز فرمودند اگه جستجو کنید نحوه و چگونگی حذف action رو هم توضیح دادن
موفق باشید

r0ot$harp
دوشنبه 15 بهمن 1386, 15:39 عصر
در همون مقاله هایی که جناب بهروز فرمودند اگه جستجو کنید نحوه و چگونگی حذف action رو هم توضیح دادن
موفق باشید


دوست عزیز فکر می کنم اگر همین جا جواب بدین خیلی بهتر باشه اگر من پیدا کرده بودم که این جا بازم التماس نمی کردم که .؟

Aidin
سه شنبه 16 بهمن 1386, 03:24 صبح
آقای راد اگه امکان داره در مورد لود کردن ماژول توضیحی بدین یا منبعی معرفی کنید لطفا
ممنون