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

طلب في تقنية .htaccess

مغلق
بدأه المبرمج عبدالكريم في 10 يونيو 2006 · 5 رد · 541 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

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

أخواني الأعزاء

بإستخدام تقنية .htaccess

أريد عمل التالي :

عندما اطلب الرابط التالي :

http://www.domain.com/account/index.php?a=1&b=2&c=3

الخ

يوجه الطلب ل:

http://www.domain.com/index.php?account=...unt&a=1&b=2&c=3

الخ

أي أن المتغيرات a و b و c ..الخ يمكن استبدالها بأي عدد من المتغيرات وبأي أسماء غير a و b و c

أتمنى أنكم فهمتوا سؤالي.

للتوضيح أكثر ..

أنا عملت هذا الكود ولكن كان هناك أخطاء :

Options +FollowSymLinks

RewriteEngine on

RewriteRule ^(.*)/(.*)$ $2?account=$1

ونحج الكود ولكن كان هناك خطأ أو عيب كبير جدا

وهو عندما أطلب :

http://www.domain.com/account/index.php?a=1&b=2&c=3

فإنه ينفذ فقط :

http://www.domain.com/index.php?account=$account

وأنا اللي أريده :

http://www.domain.com/index.php?account=...unt&a=1&b=2&c=3

أما عندما أطلب :

http://www.domain.com/account/index.php

فهو ينجح وينفذ :

http://www.domain.com/index.php?account=$account

أتمنى أني وضحت أكثر وساعدت على الإجابة أكثر

أرجوا منكم المساعدة وأرجوا من الله التوفيق للجميع.

أخوكم المبرمج عبدالكريم

.htaccess.zip

تم تعديل هذه المشاركة بواسطة المبرمج عبدالكريم في 10 يونيو 2006 في 11:41

#3

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

Options +FollowSymLinks

RewriteEngine on

RewriteRule account/index.php?a=([0-9]+)&b=([0-9]+)&c=([0-9]+) $/index.php?account=blah&a=$1&b=$2&c=$3

راكان الحنيطي

Be Open Source

opensource-550x4752.gif

#4

لم تفهم مقصودي جيدا ... على العموم كنسل الموضوع

بعد المحاولات .. وصلت الى قرب هدفي .. ولكن بقية هناك ما يوقف مسيري..

التوضيح :

بغض النظر عن موقع الملف .htaccess

أنا لدي أكثر من ملف في المجلد www/khedmah/blog

واريد ان يستخدم هذه الملفات اكثر من مستخدم بواسطة تقنية htaccess

فاريد لما يطلب المسار http://localhost/khedmah/blog/username/index.php

ترسل اوامر للملف www/khedmah/blog/index.php فيها المتغير account بطريقة GET

وهذا كله الى الان استطعت عمله بالكود التالي في الملف .htaccess الموجود في مجلد blog كود :

RewriteRule ^(.*)/(.*)$ $2?account=$1

ولكن المشكلة هي :

لما يطلب الزائر بمتصفحه هذا الرابط :

http://localhost/khedmah/blog/username/ind...s&s=gshdfsejdef

فسيرسل المتغير account فقط دون المتغيرات الاخرى التي هي من نوع GET

ايضا بالمقابل ...

لو استخدمت الكود التالي :

RewriteRule ^(.*)/(.*)$ $2

لما يطلب الزائر بمتصفحه هذا الرابط :

http://localhost/khedmah/blog/username/ind...s&s=gshdfsejdef

راح يرسل قيم المتغيرات كلها ما عاد account!!

فإما احصل على المتغيرات ولا احصل على الحساب(accoount) (كارثة)

واما احصل على الحساب account ولا احصل على المتغيرات الاخرى

فهل هناك حل لجمع الاثنين وقتل التناقض؟؟

اتمنى ان اجد الحل ...

كما اتمنى اني وضحت لكم ولم اطيل عليكم ..

تحياتي

#6

انا صرحة ما فهمت المشكلة لعدم وضوح الروابط (المنتدى بيغيرهم اعتقد) ولكن اعتقد انك بتقول متغيرات الجت لا توصل الى المكان الصحيح.

اولا لا انصحك باستعمال htaccess لانه يثقل على السرفر بحوالي 10 من المئة.

وثانيا ال rewrite هيا تمام ومتشابها ك regular expressions

وايضا ال rewrite rules عمره ما اشتغل لي على localhost بس على السرفر يشتغل

جرب هذا الكود

RewriteEngine on
RewriteRule ^(.*)/(.*)/index.php?(.*)$ $2?account=$1&$3 [L]
RewriteRule ^(.*)/(.*)/index.php?(.*)$ $2?account=$1&$3 [R]

مع السلامة

هذا الموضوع مغلق.

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