الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

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

بدأه cornerofart في 15 سبتمبر 2010 · 19 رد · 3,087 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

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

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

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

welcome to my portfolio:

www.cornerofart.net

Submit you design

here
#2

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

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

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

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

/index.php?showtopic=228674

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

ماذا نريد اذا

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

/rewrite_mode_topic_by_confort

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

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

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

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

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

1

In bad state

#3

السلام عليكم

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

Tip/Trick: Url Rewriting with ASP.NET

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

#4
TareqVB كتب:

السلام عليكم

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

Tip/Trick: Url Rewriting with ASP.NET

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

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

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

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

1

welcome to my portfolio:

www.cornerofart.net

Submit you design

here
#5

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

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

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

In bad state

#6

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

فى البداية دعنا نتفق إن هذة العملية تسمى كمصطلح بـــ 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

Ahmed Moosa

Microsoft Community Contributor | MCC

Microsoft Certified Professional Developer | MCPD

Microsoft Certified Technology Specialist | MCTS

Senior .NET Developer

.Net Trainer

English blog : http://weblogs.asp.net/ahmedmoosa/

مدونة عربى : http://ahmedmoosa.wordpress.com/

#7
Ahmed Moosa كتب:

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

فى البداية دعنا نتفق إن هذة العملية تسمى كمصطلح بـــ 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

welcome to my portfolio:

www.cornerofart.net

Submit you design

here
#8

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

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

اولا عن طريق إستخدام تصغير الرابط على سبيل المثال /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 في 15 سبتمبر 2010 في 21:58

1
#9
Xhack كتب:

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

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

اولا عن طريق إستخدام تصغير الرابط على سبيل المثال /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

welcome to my portfolio:

www.cornerofart.net

Submit you design

here
#10

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

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

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

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

وشكرا

2

My Latest

Hello Entity Framework Code First

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

#11
D a r K T o u c h كتب:

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

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

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

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

وشكرا

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

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

welcome to my portfolio:

www.cornerofart.net

Submit you design

here
#12

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

طبعا انا لم استخدم الاصدار الرابع كون حاليا اعمل على اصدار 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

In bad state

#13

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

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

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

Ahmed Moosa كتب:

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

فى البداية دعنا نتفق إن هذة العملية تسمى كمصطلح بـــ 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 يمكن تحميلهم من مواقعهم الرسمية والعمل معهم وستجد الطريقة هناك .

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

فى أمان الله

#14

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

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

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

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

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

شكرا

1

الله أكبر الله أكبر الله أكبر لآ إله إلا الله الله أكبر الله أكبر ولله الحمد

#15

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

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

شاشه ماستر 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

صح ؟؟

IT'S EASY, IF YOU TRY

#16

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

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

دققي بملف الglobal

In bad state

#17
BOGY كتب:

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

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

شاشه ماستر 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

بالتوفيق

Ahmed Moosa

Microsoft Community Contributor | MCC

Microsoft Certified Professional Developer | MCPD

Microsoft Certified Technology Specialist | MCTS

Senior .NET Developer

.Net Trainer

English blog : http://weblogs.asp.net/ahmedmoosa/

مدونة عربى : http://ahmedmoosa.wordpress.com/

#18
Ahmed Moosa كتب:

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

فى البداية دعنا نتفق إن هذة العملية تسمى كمصطلح بـــ 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 يمكن تحميلهم من مواقعهم الرسمية والعمل معهم وستجد الطريقة هناك .

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

فى أمان الله

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

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

#19
بـلـبل كتب:

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

طبعا انا لم استخدم الاصدار الرابع كون حاليا اعمل على اصدار 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

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

#20

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

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…