PDA

View Full Version : سوال: شبيه سازي آدرس در asp.net



yakooza2009
جمعه 26 شهریور 1389, 15:43 عصر
سلام

من در مورد url rewriteing يه چيزايي شنيدم ولي بلد نيستم

يك سوال داشتم ميخواستم ببينم اين تكنيك جوابگو هست يا نه

فرضا آدرس اصلي وب سايت من اينه

www.wg.com

من ميخوام آدرسي به شكل زير يه طور ديگه تفسير بشه
www.wg.com/default.aspx?item=7541
اين آدرس اينطوري در نوار آدرس تفسير بشه = www.my.wg.com

يا بر عكس اين كار هم ميشه يا نه ؟

-----------

به طور كلي با وارد كردن ساب دامين آدرس www.wg.com/default.aspx?item=7541 تفسير بشه و بر عكس با وارد كردن آدرس www.wg.com/default.aspx?item=7541 به ساب دامين بره

persian_bigboy
جمعه 26 شهریور 1389, 21:44 عصر
دوست من به سایت CODEPROJECT.COM برو، نمونه URL RW زیاده . مشکلت هم حل میشه .

Ali_M.Eghbaldar
جمعه 26 شهریور 1389, 21:58 عصر
دوست من به سایت CODEPROJECT.COM برو، نمونه URL RW زیاده . مشکلت هم حل میشه .

???

سلام
اینطوری که شما گفتید عمل نمی کنه در لینک زیر:
پست شماره 19:استفاده از UrlRewriting

http://www.barnamenevis.org/forum/showthread.php?t=239225
--------------------

دوست من به سایت CODEPROJECT.COM برو، نمونه URL RW زیاده . مشکلت هم حل میشه .

???

سلام
اینطوری که شما گفتید عمل نمی کنه در لینک زیر:
پست شماره 19:استفاده از UrlRewriting

http://www.barnamenevis.org/forum/showthread.php?t=239225

Roia_del
شنبه 27 شهریور 1389, 10:49 صبح
سلام.
شما می تونی یک HttpModule طراحی کنی و کار رو به اون پسپری البته باید همه جوانب رو در نظر بگیری. ثانیا هاستینگ شما باید از WildCard پشتیبانی کنه یعنی:


Anything.Domian.com

Redirect to:

domain.com

لازم به توضیح است که من اینکار رو کردم بدون DLL ، URLRewriting و خوبم کار می کنه.

milade
شنبه 27 شهریور 1389, 16:37 عصر
سلام.
شما می تونی یک HttpModule طراحی کنی و کار رو به اون پسپری البته باید همه جوانب رو در نظر بگیری. ثانیا هاستینگ شما باید از WildCard پشتیبانی کنه یعنی:


Anything.Domian.com


Redirect to:


domain.com


لازم به توضیح است که من اینکار رو کردم بدون DLL ، URLRewriting و خوبم کار می کنه.



عزيزم لازم يه Wc نيست .
الان با يه كاموننت ايشون ميتونن حلش كنند اما اون Wc كه شما نام برديد توي iis7 من ديدم و البته اون هم يه module و نصب برا ساپورت ميخواد كه در اين صورت از Wc , Rewrite پشتيباني ميكنه .

Roia_del
دوشنبه 29 شهریور 1389, 11:45 صبح
خوب اگه بخواد از قابلیت کتابخانه UrlRewriting استفاده کنه ، اون موقع هم باید هاستینگ پشتیبانی کنه یا نه؟
در ضمن الان بیشتر هاستینگ ها پشتیبانی می کنند . فقط باید شما بیای و تو فایل Web.Config اون رو رجیستر کنی:

http://msdn.microsoft.com/en-us/library/ms227673.aspx

milade
دوشنبه 29 شهریور 1389, 12:10 عصر
خوب اگه بخواد از قابلیت کتابخانه UrlRewriting استفاده کنه ، اون موقع هم باید هاستینگ پشتیبانی کنه یا نه؟
نه ، اون يه كتابخانه هست كه ميتونيد به پروژه اضافه كنيدش و ...
توضيحات كامل :http://www.barnamenevis.org/forum/showthread.php?t=247711


در ضمن الان بیشتر هاستینگ ها پشتیبانی می کنند . فقط باید شما بیای و تو فایل Web.Config اون رو رجیستر کنی:

http://msdn.microsoft.com/en-us/library/ms227673.aspx (http://msdn.microsoft.com/en-us/library/ms227673.aspx)
نميدونم روي پست من جواب دادي يا نه .
اما اگه روي پست من بود و بخوايد با Wc كار كنيد توي IIS7 امكان پذيره و بايد برنامه Url Rewrite نصب بشه .

اما در مورد UrlRewriteing در لينكي كه دادم به طور كامل توضيح دادم !+ يه جستجو كوچك ...

bahman_akbarzadeh
دوشنبه 29 شهریور 1389, 12:14 عصر
خوب اگه بخواد از قابلیت کتابخانه UrlRewriting استفاده کنه ، اون موقع هم باید هاستینگ پشتیبانی کنه یا نه؟
در ضمن الان بیشتر هاستینگ ها پشتیبانی می کنند . فقط باید شما بیای و تو فایل Web.Config اون رو رجیستر کنی:

http://msdn.microsoft.com/en-us/library/ms227673.aspx

این لینک، طراحی HttpMadule رو نشون میده، نه صرفا UrlRewriting

si6arp
دوشنبه 29 شهریور 1389, 12:57 عصر
سلام.
شما می تونی یک HttpModule طراحی کنی و کار رو به اون پسپری البته باید همه جوانب رو در نظر بگیری. ثانیا هاستینگ شما باید از WildCard پشتیبانی کنه یعنی:


Anything.Domian.com

Redirect to:

domain.com

لازم به توضیح است که من اینکار رو کردم بدون DLL ، URLRewriting و خوبم کار می کنه.




میشه یک سمپل ارائه بدید ؟

Roia_del
سه شنبه 30 شهریور 1389, 13:03 عصر
میشه یک سمپل ارائه بدید ؟
البته :

public class WWWSub : IHttpModule
{
public void Dispose()
{
//clean-up code here.
}

public void Init(HttpApplication context)
{
// Below is an example of how you can handle LogRequest event and provide
// custom logging implementation for it
context.LogRequest += new EventHandler(OnLogRequest);

string url = context.Request.Headers["HOST"];
int index = url.IndexOf(".");
// Determine if a subdomain is provided:
if (index < 0)
return;
// Get the subdomain (as a string):
string subDomain = url.Substring(0, index);
//Al.mydomain.com
if (subDomain == "mydomain" || subDomain=="www")
return;

//sub Domain

HttpContext.Current.RewritePath("~/" + subDomain);
//یا
HttpContext.Current.RewritePath("~/locals/default.aspx?sub=" + subDomain);

}

public void OnLogRequest(Object source, EventArgs e)
{
//custom logging logic can go here
}
}

کلاس بالا رو توی یک فایل WWWSub.cs بساز و توی پوشه APP_Code سورس برنامت بزار.
دو برو تو Web.config و خط پایین رو بزار بین <system.web>

<httpModules>
<add name="WWWSub" type="WWWSub,App_Code"/>
</httpModules>

حالا اگه WildCard رو سیستمت یا هاستینگت پشتیبانی بشه هر چیزی قبل دامنه ات بنویسی میره به جای دیگه :
دو تا RewritePath نوشتم که هرجوری دلت خواست استفاده کنی.
اولی :
http://mant.mydomain.com
==> http://mydomain.com/mant که یک پوشه است.

دومی:
http://mant.mydomain.com
میره به
http://mydomain.com/locals/default.aspx?sub=mant


البته میتونی کد رو هرجور که خواستی پیاده سازی کنی و URLRewriting خودت رو بنویسی .
البته تو ASP.NET 4.0 کلاس هایی هستند (توکار) که می تونند راحت این کار رو انجام بدن.
((هاستینگ خود من فعلا ASP.NET 4 رو ندارد))

si6arp
یک شنبه 04 مهر 1389, 21:20 عصر
مرسی عزیز ولی یه سوال »
توی کلاسی که ساختیم در این کد :


if (subDomain == "mydomain" || subDomain=="www")


بجای mydomain باید کل دامنه را بزنیم : smsdoni.com یا فقط اسم دامین : smsdoni ؟

si6arp
یک شنبه 04 مهر 1389, 23:13 عصر
اگه امکانش هست یه سلوشن ارائه دهید. با تشکر

Roia_del
دوشنبه 05 مهر 1389, 11:31 صبح
بجای mydomain باید کل دامنه را بزنیم : smsdoni.com یا فقط اسم دامین : smsdoni ؟

نه فقط اسم دامنه چون حوزه دامنه رو قبلا با indexof , substring حذف کردیم.

si6arp
جمعه 09 مهر 1389, 10:18 صبح
خوب دوست نت اگه كسي IIS رو تنظيم نكرده باشه چي ؟
ميشه يه آموزش براي تنظيمات IIS بزاريد . تنظيمات مربوط به pipeline.....


با سپاس