PDA

View Full Version : گفتگو: بهینه ترین روش تبدیل کارکتر Space در Url ها کدام است؟



KavoshGar_ir
چهارشنبه 09 تیر 1389, 19:32 عصر
سلام دوستان
موضوع سوالم را با یک مثال, بیشتر توضیح میدم!همینطور که میدانید برای افزایش رتبه سایت از UrlRewriting استفاده می کنند به عبارتی آدرس
www.Abc.Com/Gallery.aspx?title=elecomp 2007
را به صورت زیر بازنویسی میکنند : www.Abc.Com/Gallery/elecomp_2007

مشکلی که در بازنویسی url وجود داره فاصله بین کلماته که به هنگام ارسال به مقدار 20% تبدیل میشند. به عبارتی : www.Abc.Com/Gallery/elecomp20%2007 که یوزر فریندلی نیست.

برای حل این مشکل می توان از روشهای زیر استفاده کرد :
1.Server.Encoding
2. فایل Global و استفاده از متد Application_BeginReguest
3.استفاده از UrlRewriting.Net (در داکیومنتش مثال اورده شده ولی شرح نداده!!! )
4.در هنگام اینزرت اطلاعات به دیتابیس , مستقیما کاراکتر اسپیس با Replace به "_" تبدیل شود وجود داره ...

حالا سوالم اینجاست شما کدام روش را بهینه تر از بقیه میدانید؟ ( مخصوصا زمانی که اطلاعات مستقیما از دیتابیس و در تمپلیت یک لینک قرار میگیرند! ) لطفا پاسختان همراه با مثال عینی باشه ...

ممنونم.

pestilencia
پنج شنبه 10 تیر 1389, 03:34 صبح
اگه تو URI از + می دونین هیچ وقت استفاده نمی شه از تمام فاصله ها رو به + موقع ثبت اطلاعات تغییر بده. موقع بازیابی ش راحت تری. چون + رو خودش به عنوان space در نظر می گیره. راه دیگه ش هم میتونه این باشه که فاصله ها رو به جای + از - یا _ استفاده کنی.
که این دومی از نظر من بهتره، به این دلیل که هیچ وقت دوگانگی تو URIها پیش نمیاد.

KavoshGar_ir
پنج شنبه 10 تیر 1389, 18:23 عصر
اگه تو URI از + می دونین هیچ وقت استفاده نمی شه از تمام فاصله ها رو به + موقع ثبت اطلاعات تغییر بده. موقع بازیابی ش راحت تری. چون + رو خودش به عنوان space در نظر می گیره. راه دیگه ش هم میتونه این باشه که فاصله ها رو به جای + از - یا _ استفاده کنی.
که این دومی از نظر من بهتره، به این دلیل که هیچ وقت دوگانگی تو URIها پیش نمیاد.
ممنونم از توجهت.

اما فکر می کنم این روش بهینه نیست و دردسرهای زیادی داره ... در نظر بگیر اطلاعات یک ستون از دیتابیس نام شهر باشه ... و از نام شهر ها در لینکها و ادرس دهی استفاده بشه ...
خوب در آدرسی دهی مشکل فاصله یا 20% حل میشه اما اگر قرار باشه در یک کمبوباکس نام شهرها قرار بگیره مجبور به پردازش تمامی رکورهای شهرها و جایگزینی + یا _ را با " " داریم تا زمانی که نام شهرها در کمبوباکس وارد میشه شکیل تر به نظر برسه ...

دوستان کسی نظر دیگه ای نداره؟!

KavoshGar_ir
جمعه 11 تیر 1389, 10:44 صبح
باید به روشهای بالا استفاده از Regex هم اضافه کرد.

هنوز منتظر راه حل های صاحب نظران هستم:اشتباه:

salehbagheri
شنبه 12 تیر 1389, 01:02 صبح
این لینک رو ببینید:
http://aspnet.ebizassist.com/seo-url-rewriting

اکثر مواردی که در SEO URL Rewriting لازمه انجام داده!

KavoshGar_ir
شنبه 12 تیر 1389, 22:10 عصر
این لینک رو ببینید:
http://aspnet.ebizassist.com/seo-url-rewriting

اکثر مواردی که در SEO URL Rewriting لازمه انجام داده!
ممنونم!

من تصور میکردم در خود UrlRewriting.Net قابلیتی برای این ویژگی تعبیه شده که من ازش بی خبرم ...

به هر حال جوابم را گرفتم!

Url را به یک تابع با نام GenerateURL پاس داده و بعد با استفاده از کد


//Replace all spaces with one "-" hyphen
strTitle = strTitle.Replace(" ", "-")


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



NavigateUrl='<%#GenerateURL(DataBinder.Eval(Container.DataItem,"Title"),DataBinder.Eval(Container.DataItem,"Id"))%>'>


بعد از سرچ این چند روزه و نظر شما دوستان فکر میکنم این بهینه ترین روش باشه ...
مرسی:تشویق: