• 0
cornerofart

كيف يمكنني أن أخفي الباث للينك

سؤال

السلام عليكم ورحمة الله

هذه أول مشاركة لي في هذا القسم

السؤال هو كيف يمكنني أن أخفي الباث للينك مثال:

http://ak-auto.jo/View-Brand.aspx?BName=Chevrolet&model=Traverse'>http://ak-auto.jo/View-Brand.aspx?BName=Chevrolet&model=Traverse

أريد أن يصبح بهذا الشكل

http://ak-auto.jo/ Traverse

الرجاء أنتظر الإجابه بفارغ الصبر

و شكرا لكم

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

19 إجابة على هذا السؤال .

  • 0

هذا ما يسمى dynamic url او بالاحرى rewritemode url

يستخدم من اجل تقوية الموقع وحمايته من التهكير

عقدة محركات البحث هي ؟ و&

لذلك تقوم بالاستغناء عنها ككمثال بسيط لذلك

http://www.arabteam2000-forum.com/index.php?showtopic=228674

هذا عنوان مثلا يمكن تهكيره من الرقم 228674 على سبيل المثال :D

ماذا نريد اذا

نريد ما يلي ان يكون

http://www.arabteam2000-forum.com/rewrite_mode_topic_by_confort

اي تم الاستغناء عن ؟ و &

الان كيف يتم عمل ذلك هذا يتبع للغة البرمجة التي تستخدمها ان كانت php عليك بتعلم .htaccess وتعلم عمليات الطلبات والفلترة على apache

اما ان كنت تستخدم ال asp.net عليك بتعلم http module and httphandler وطبعا كل اصدار دوت نت له اسلوب مختلف ولكن التالي لا يمحو السابق

موضوع جميل وشيق بالفعل

بالتوفيق وتابع

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

انظر الى هذه المقالة

Tip/Trick: Url Rewriting with ASP.NET

والافضل استخدام MVC فريموورك وخاصة اذا كنت ستبدأ مشروعا جديدا .

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

انظر الى هذه المقالة

Tip/Trick: Url Rewriting with ASP.NET

والافضل استخدام MVC فريموورك وخاصة اذا كنت ستبدأ مشروعا جديدا .

بارك الله فيك على الإجابه لكنني أنهيت هذا المشروع كما ترى لكن طلب الزبون صاحب الشركة مني هذا الأمر .. و المبرمج قال لي أنها تريد وقت طويل حتى إنهاء مثل هذا الأمر و بصراحة لا أعتقد أن إنجاز مثل هذا الأمر يتطلب هذه الصعوبة أو الوقت الطويل..

لأنني كنت أتعامل مع شخص يعمل على ال php و لكن لم يكن يأخذ منه وقت لإنهاء مثل هذا الأمر .. فهل هذا الأمر صعب لهذه الدرجة على برمجة ال ASP ؟

وشكرا لك مرة أخرى أنت و صديقي X-File مشكورين

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اخي العزيز لكل اصدار له اسلوب ماهو اصدار الدوت نت المستخدم على حسب الاصدار يحكم صعوبتها

بكل الاحوال ان كنت تستخدم الاصدار 3.5 sp1 الامر اسهل من السابق

الفكرة عند تحويل المواقع الى ذلك يتوجب عليك تحويل كل الروابط بالموقع الى الشكل الجديد ولكن ان كان مبرمجا بحق امرها لا يستحق الذكر (طبعا انا لست كذلك )

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم ورحمة الله

فى البداية دعنا نتفق إن هذة العملية تسمى كمصطلح بـــ UrlRewriting .

ونقصد إبدال المسار الحالى بمسار آخر , أو كما تسمى حسب الترجمة إعادة كتابة المسار .وهناك أكثر من طريقة قديمة وحديثة ولك أن تختار وإليك التوضيح والله المستعان :

الطريقة البدائية : UrlMapping :

وهى عنصر يوجد فى ملف Web.config ويتم ضبط التالى :


<urlMappings enabled ="true">
<add url ="~/111111.php" mappedUrl ="~/Home.aspx"/>
</urlMappings>

ثم منادة الصفحة صاحبة الإسم 111111.php الغير موجودة ولكن الصفحة التى ستظهر هى Home .aspx وكعنوان سيظهر 111111.php .

هكذا


<a href="111111.php">Home.aspx</a>

الطريقة الثانية و أراها الأسهل هى : Routing

تعمل Routing بإستخدام ملف Global.asax عند تعريف دالة بمواصفات خاصة وإليك مثال مبسط :

فى ملف global.asax ضع التالى :


public static void RegisterRoute(RouteCollection routes)
{
routes.MapPageRoute("", "Products/{catogery}", "~/products.aspx");

}

void Application_Start(object sender, EventArgs e)
{
// Code that runs on application startup
RegisterRoute(RouteTable.Routes);
}


ثم قم بمنادة الصفحة هكذا :


<a href="Products/books">products.aspx</a>

الطريقة الثالثة : إستخدام HttpModule , Context.RewritePath .

وتنحصر فى إلإستعلام عن المسار الحالى وإعادة كتابته من خلال RewritePath . إبحث فى المنتدى الرسمى ستجد فيديو يشرح هذة الطريقة ولكن لا أعرف إن كان موجود حتى الآن أم تم حذفه .

الطريقة الرابعة : إستخدام المكتاب المتاحة على الإنترنت منها التالى :

UrlRewiriting.net

UrlWriter.net

وهما مكتبات dll يمكن تحميلهم من مواقعهم الرسمية والعمل معهم وستجد الطريقة هناك .

لا أعتقد ان هذة هى كل الطريق ولكن هذا ما لدى فى هذا الأمر .

فى أمان الله

3

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم ورحمة الله

فى البداية دعنا نتفق إن هذة العملية تسمى كمصطلح بـــ UrlRewriting .

ونقصد إبدال المسار الحالى بمسار آخر , أو كما تسمى حسب الترجمة إعادة كتابة المسار .وهناك أكثر من طريقة قديمة وحديثة ولك أن تختار وإليك التوضيح والله المستعان :

الطريقة البدائية : UrlMapping :

وهى عنصر يوجد فى ملف Web.config ويتم ضبط التالى :


<urlMappings enabled ="true">
<add url ="~/111111.php" mappedUrl ="~/Home.aspx"/>
</urlMappings>

ثم منادة الصفحة صاحبة الإسم 111111.php الغير موجودة ولكن الصفحة التى ستظهر هى Home .aspx وكعنوان سيظهر 111111.php .

هكذا


<a href="111111.php">Home.aspx</a>

الطريقة الثانية و أراها الأسهل هى : Routing

تعمل Routing بإستخدام ملف Global.asax عند تعريف دالة بمواصفات خاصة وإليك مثال مبسط :

فى ملف global.asax ضع التالى :


public static void RegisterRoute(RouteCollection routes)
{
routes.MapPageRoute("", "Products/{catogery}", "~/products.aspx");

}

void Application_Start(object sender, EventArgs e)
{
// Code that runs on application startup
RegisterRoute(RouteTable.Routes);
}


ثم قم بمنادة الصفحة هكذا :


<a href="Products/books">products.aspx</a>

الطريقة الثالثة : إستخدام HttpModule , Context.RewritePath .

وتنحصر فى إلإستعلام عن المسار الحالى وإعادة كتابته من خلال RewritePath . إبحث فى المنتدى الرسمى ستجد فيديو يشرح هذة الطريقة ولكن لا أعرف إن كان موجود حتى الآن أم تم حذفه .

الطريقة الرابعة : إستخدام المكتاب المتاحة على الإنترنت منها التالى :

UrlRewiriting.net

UrlWriter.net

وهما مكتبات dll يمكن تحميلهم من مواقعهم الرسمية والعمل معهم وستجد الطريقة هناك .

لا أعتقد ان هذة هى كل الطريق ولكن هذا ما لدى فى هذا الأمر .

فى أمان الله

صدقاً لا أعلم كيف أشكرك على هذا الشرح الجميل شكرا جزيلاً لك هذا ما أستطيع قوله لك حالياً +1

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

بسم الله الرحمن الرحيم

حتى تقوم بعمل الذي تريده هنالك طريقتان

اولا عن طريق إستخدام تصغير الرابط على سبيل المثال http://www.arabteam2000-forum.com/index.php?showtopic=228674 يصبح http://tiny.cc/yvr11 وهذا عن طريق إستخدام دوال API الخاص بمزودات هذه الخدمة مثل

http://tiny.cc

ثانيا عن طريق إعادة كتابة الرابط urlrewriting

إذا كنت تستخدم IIS7 فهناك يوجد بمايسمى Hanlde Requests يحتوي على Url ReWrite تحتاج الى تحميله

Url ReWrite 2

http://www.iis.net/download/urlrewrite

أو إستخدم أحد المكتبات التي ذكرها الاخ الكريم Ahmed Mossa أنظر المثال التالي

Tip/Trick: Url Rewriting with ASP.NET

ثالثا إذا كنت تستخدم الاصدار الرابع من ASP.net هنالك مايسمى URL Routing إنظر الى المثال التالي

URL Routing with ASP.NET 4 Web Forms

بالتوفيق ان شاء الله

تم تعديل بواسطه Xhack
1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

بسم الله الرحمن الرحيم

حتى تقوم بعمل الذي تريده هنالك طريقتان

اولا عن طريق إستخدام تصغير الرابط على سبيل المثال http://www.arabteam2000-forum.com/index.php?showtopic=228674 يصبح http://tiny.cc/yvr11 وهذا عن طريق إستخدام دوال API الخاص بمزودات هذه الخدمة مثل

http://tiny.cc

ثانيا عن طريق إعادة كتابة الرابط urlrewriting

إذا كنت تستخدم IIS7 فهناك يوجد بمايسمى Hanlde Requests يحتوي على Url ReWrite تحتاج الى تحميله

Url ReWrite 2

http://www.iis.net/download/urlrewrite

أو إستخدم أحد المكتبات التي ذكرها الاخ الكريم Ahmed Mossa أنظر المثال التالي

Tip/Trick: Url Rewriting with ASP.NET

ثالثا إذا كنت تستخدم الاصدار الرابع من ASP.net هنالك مايسمى URL Routing إنظر الى المثال التالي

URL Routing with ASP.NET 4 Web Forms

بالتوفيق ان شاء الله

بالفعل جزاك الله خير على مساعدتك لي +1

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم ورحمة الله وبركاتة

بعد قراءة الردود وحاولت

بصراحة ما عرفت

اتمنى من الاخوان شرح من فوائدها وبمثال للفائدة

وشكرا

2

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم ورحمة الله وبركاتة

بعد قراءة الردود وحاولت

بصراحة ما عرفت

اتمنى من الاخوان شرح من فوائدها وبمثال للفائدة

وشكرا

الفائده منها هي عثور محركات البحث على الصفحه و أيضاً سهولة تنقل المستخدم بين الصفحات و إرسال الرابط بشكل صحيح.

لكن كيفيه عملها بصراحه كنت أتمنى من الأخوان الي ما قصروا بارك الله فيهم و زادهم علماً على شرح الطريقه عملياً و السلام

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

ساضع هذا مثال بسيط

طبعا انا لم استخدم الاصدار الرابع كون حاليا اعمل على اصدار 3.5

للدوت نت الاصدار 3.5 sp1

الفكرة اضافة الى ملف global and

اضافة routing في model and handler and httphandler in web config and use thecode in rout folder

اهداف ما يلي هو يمكنك التالي

منع التهكير من خلال العنوان

يصبح بشكل اوصح للقارىء البشري

عقدة محركات البحث الرمزين ؟ و & يتم الاستغناء عنهما

لاحظ الملف المرفق واتمنى ان تتحقق الفائدة

5454.rar

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

انا جربت اول طريقي وهي UrLmappings وتمت بنجاح

وشكور جدا جدا للزملاء علي المساعدة

موضوع شيق جدا وجميل

السلام عليكم ورحمة الله

فى البداية دعنا نتفق إن هذة العملية تسمى كمصطلح بـــ UrlRewriting .

ونقصد إبدال المسار الحالى بمسار آخر , أو كما تسمى حسب الترجمة إعادة كتابة المسار .وهناك أكثر من طريقة قديمة وحديثة ولك أن تختار وإليك التوضيح والله المستعان :

الطريقة البدائية : UrlMapping :

وهى عنصر يوجد فى ملف Web.config ويتم ضبط التالى :


<urlMappings enabled ="true">
<add url ="~/111111.php" mappedUrl ="~/Home.aspx"/>
</urlMappings>
الله يبارك فيك يا اخي علي المعلومة القيمة ده
شكرا جدا

بس عندي استسفار بخصوص التشفير
هل يمكن تشفير البيانات المرسلة بين الصفحات وبدون استخدام ؟ و & ؟؟؟؟؟

ثم منادة الصفحة صاحبة الإسم 111111.php الغير موجودة ولكن الصفحة التى ستظهر هى Home .aspx وكعنوان سيظهر 111111.php .

هكذا


<a href="111111.php">Home.aspx</a>

الطريقة الثانية و أراها الأسهل هى : Routing

تعمل Routing بإستخدام ملف Global.asax عند تعريف دالة بمواصفات خاصة وإليك مثال مبسط :

فى ملف global.asax ضع التالى :


public static void RegisterRoute(RouteCollection routes)
{
routes.MapPageRoute("", "Products/{catogery}", "~/products.aspx");

}

void Application_Start(object sender, EventArgs e)
{
// Code that runs on application startup
RegisterRoute(RouteTable.Routes);
}


ثم قم بمنادة الصفحة هكذا :


<a href="Products/books">products.aspx</a>

الطريقة الثالثة : إستخدام HttpModule , Context.RewritePath .

وتنحصر فى إلإستعلام عن المسار الحالى وإعادة كتابته من خلال RewritePath . إبحث فى المنتدى الرسمى ستجد فيديو يشرح هذة الطريقة ولكن لا أعرف إن كان موجود حتى الآن أم تم حذفه .

الطريقة الرابعة : إستخدام المكتاب المتاحة على الإنترنت منها التالى :

UrlRewiriting.net

UrlWriter.net

وهما مكتبات dll يمكن تحميلهم من مواقعهم الرسمية والعمل معهم وستجد الطريقة هناك .

لا أعتقد ان هذة هى كل الطريق ولكن هذا ما لدى فى هذا الأمر .

فى أمان الله

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

جزا الله خيرا صاحب المقال على هذا السؤال الهام

وجزا الله أساتذتنا خيرا على هذا الشرح العظيم

ويا ريت نجد مثل هذه الشروحات عن أدوات وخصائص في asp.net حتى نستفيد

أقترح أن لا ينتظر أساتذتنا السؤال حتى يجيبون ويبدعون

ولكن هم يطرحون موضوع ويناقشونه حتى نستفيد نحن الطلاب

شكرا

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

تمام يا أخ أحمد على الشرح لكن الي انا مش فاهمه حاجه

انا دلوقتي عندي شاشتين

شاشه ماستر tblHdr

و شاشه ديتيل tblDtl

و طبعا مربوطين ببعض

و في الصفحة عايز اظهر في الجريد فيو الي بتحمل ال Hdr مثلاً اسم العميل

و لما يدوس عليه يروح و يجيب ال Dtl الحاصه بالعميل ده طبعا عن طريق ال ID

و كل الي انا عايزه اني الاقي في اللينك اسم العميل ب _ مش مشكله

يعني الي عايز اعمله زي اغلب البلوجات Blogs بتاعت ال wordpress تلاقي مثلا

http://csharpfeeds.com/post/12167/URL_Routing_with_ASP.NET_4_Web_Forms_VS_2010_and_.NET_4.0_Series.aspx

و فيه بدون ال .aspx في الآخر كمان زي ده مثلا

http://stackoverflow.com/questions/2206739/wordpress-url-routing-problem

فهمت قصدي انا عايز اعمل ايه ؟؟

ممكن تعملنا مثال صغير للحته دي؟؟

و اكيد طبعا باختلاف الcategory يعني مش مثبت اللينكات بتاعتي زي اللينك ده

http://csharpfeeds.com/post/12167/URL_Routing_with_ASP.NET_4_Web_Forms_VS_2010_and_.NET_4.0_Series.aspx

و اعتقد ان في اللينك الاخير الي فهمت منه انوا عامل الآتي :

postID=12167

صح ؟؟

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

باصدار الدوت نت 4 يوجد باراميتر باسم Route ضمن ال sqldatasource

اما ضمن الدوت نت 3.5 كنت قد ارفقت مثال عن ذلك

دققي بملف الglobal

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

تمام يا أخ أحمد على الشرح لكن الي انا مش فاهمه حاجه

انا دلوقتي عندي شاشتين

شاشه ماستر tblHdr

و شاشه ديتيل tblDtl

و طبعا مربوطين ببعض

و في الصفحة عايز اظهر في الجريد فيو الي بتحمل ال Hdr مثلاً اسم العميل

و لما يدوس عليه يروح و يجيب ال Dtl الحاصه بالعميل ده طبعا عن طريق ال ID

و كل الي انا عايزه اني الاقي في اللينك اسم العميل ب _ مش مشكله

يعني الي عايز اعمله زي اغلب البلوجات Blogs بتاعت ال wordpress تلاقي مثلا

http://csharpfeeds.com/post/12167/URL_Routing_with_ASP.NET_4_Web_Forms_VS_2010_and_.NET_4.0_Series.aspx

و فيه بدون ال .aspx في الآخر كمان زي ده مثلا

http://stackoverflow.com/questions/2206739/wordpress-url-routing-problem

فهمت قصدي انا عايز اعمل ايه ؟؟

ممكن تعملنا مثال صغير للحته دي؟؟

و اكيد طبعا باختلاف الcategory يعني مش مثبت اللينكات بتاعتي زي اللينك ده

http://csharpfeeds.com/post/12167/URL_Routing_with_ASP.NET_4_Web_Forms_VS_2010_and_.NET_4.0_Series.aspx

و اعتقد ان في اللينك الاخير الي فهمت منه انوا عامل الآتي :

postID=12167

صح ؟؟

السلام عليكم ورحمة الله

هنا تجد المزيد :

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

بالتوفيق

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم ورحمة الله

فى البداية دعنا نتفق إن هذة العملية تسمى كمصطلح بـــ UrlRewriting .

ونقصد إبدال المسار الحالى بمسار آخر , أو كما تسمى حسب الترجمة إعادة كتابة المسار .وهناك أكثر من طريقة قديمة وحديثة ولك أن تختار وإليك التوضيح والله المستعان :

الطريقة البدائية : UrlMapping :

وهى عنصر يوجد فى ملف Web.config ويتم ضبط التالى :


<urlMappings enabled ="true">
<add url ="~/111111.php" mappedUrl ="~/Home.aspx"/>
</urlMappings>

ثم منادة الصفحة صاحبة الإسم 111111.php الغير موجودة ولكن الصفحة التى ستظهر هى Home .aspx وكعنوان سيظهر 111111.php .

هكذا


<a href="111111.php">Home.aspx</a>

الطريقة الثانية و أراها الأسهل هى : Routing

تعمل Routing بإستخدام ملف Global.asax عند تعريف دالة بمواصفات خاصة وإليك مثال مبسط :

فى ملف global.asax ضع التالى :


public static void RegisterRoute(RouteCollection routes)
{
routes.MapPageRoute("", "Products/{catogery}", "~/products.aspx");

}

void Application_Start(object sender, EventArgs e)
{
// Code that runs on application startup
RegisterRoute(RouteTable.Routes);
}


ثم قم بمنادة الصفحة هكذا :


<a href="Products/books">products.aspx</a>

الطريقة الثالثة : إستخدام HttpModule , Context.RewritePath .

وتنحصر فى إلإستعلام عن المسار الحالى وإعادة كتابته من خلال RewritePath . إبحث فى المنتدى الرسمى ستجد فيديو يشرح هذة الطريقة ولكن لا أعرف إن كان موجود حتى الآن أم تم حذفه .

الطريقة الرابعة : إستخدام المكتاب المتاحة على الإنترنت منها التالى :

UrlRewiriting.net

UrlWriter.net

وهما مكتبات dll يمكن تحميلهم من مواقعهم الرسمية والعمل معهم وستجد الطريقة هناك .

لا أعتقد ان هذة هى كل الطريق ولكن هذا ما لدى فى هذا الأمر .

فى أمان الله

بارك الله فيك يا بشمهندس

شرح مبسط و رائع و هذه طريقة الخبراء دائما

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

ساضع هذا مثال بسيط

طبعا انا لم استخدم الاصدار الرابع كون حاليا اعمل على اصدار 3.5

للدوت نت الاصدار 3.5 sp1

الفكرة اضافة الى ملف global and

اضافة routing في model and handler and httphandler in web config and use thecode in rout folder

اهداف ما يلي هو يمكنك التالي

منع التهكير من خلال العنوان

يصبح بشكل اوصح للقارىء البشري

عقدة محركات البحث الرمزين ؟ و & يتم الاستغناء عنهما

لاحظ الملف المرفق واتمنى ان تتحقق الفائدة

----------------------

مشكور اخي على المعلومات القيمة .. لكن عندي استفسار .. انت اخي العزيز كتبت هذه السطر البرمجي في ملف القلوبل


System.Web.Routing.RouteTable.Routes.Add(new System.Web.Routing.Route("users/{id}.html",
new UserRouteHandler("~/users.aspx")));

سؤالي طيب لو عندي 100 صفحة .. هل لازم اعمل مئة سطر بمثل هذه الطريقة ؟ لانك انت حددتها على صفحة users.aspx

ياليت توضح لنا ليستفيد الجميع ولك جزيل الشكر

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اين انت اخي العزيز .. ياليت توضح لنا الطريقة في حالة وجد اكثر من صفحة وشكراُ

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .