السلام عليكم
شباب انا طبقت الكود هذا
RewriteRule ^products/([0-9][0-9])/$ /productInfo.php?prodId=$1
وشغال حلو لكن يطلع الرابط بدون /
واذا حطيت / تطلع الصفحه غلط ؟؟؟
ابيه يطلع صح بالحالتين كيف ؟؟
السلام عليكم
شباب انا طبقت الكود هذا
RewriteRule ^products/([0-9][0-9])/$ /productInfo.php?prodId=$1
وشغال حلو لكن يطلع الرابط بدون /
واذا حطيت / تطلع الصفحه غلط ؟؟؟
ابيه يطلع صح بالحالتين كيف ؟؟
لازم تنشيء الرابط بشكل صحيح، على سبيل المثال، من الأفضل استخدام هذه الطريقة في الروابط والصور وملفات css وملفات الجافا سكريبت:
<a href='<?php echo "http://".$_SERVER['HTTP_HOST']."/products/25/; '>اضغط هنا</a>
ثم أضف إلى ملف htaccess هذا الأمر
RewriteBase /
هذا الأمر يحدد من أين ينطلق الأباتش في تنفيذ الملف
يعني لو تريد أن يبدأ من مجلد معين يكون بهذا الشكل
RewriteBase /newDir/
واجعل الأمر إلى
RewriteRule ^products/([0-9][0-9])/$ productInfo.php?prodId=$1 [L]
جرب وأحبرنا ولو واجهتك مشكلة أعطنا أجزاء أكبر من الكود وسنساعدك
بالتوفيق
تم تعديل هذه المشاركة بواسطة عبدالله عيّاش في 19 يونيو 2007 في 01:48
مشكور اخوي عبد الله لكن انا عندي شغال وجربت طريقتك نفس طريقتي
لكن انا ابيه بالحالتين يفتح الصفحه مع او بدون /
جربت اخوي باللي حطيته طلع خطا الصفحه مو موجوده وجربت هذا
RewriteRule ^products/([0-9]+)(.*)$ productInfo.php?prodId=$1 [L]
اشتغل تمام في الحالتين بس صار اذا حطيت اي رقم في الاخير يفتح نفس الصفحه مثل كذا
راح تفتح الصفحه تمام وحتى لو حطيت كذا
http://localhost/products/1/54545555555555555555555555
راح تفتح نفس الصفحه ؟؟؟
يصعب التحكم 100% في العنوان، سوف أعطيك مثال
لو جربت أن تدخل العنوان الأساسي بدون mod_rewrite
http://localhost/productInfo.php?prodId=1
سوف يعطيك الصفحة المطلوبة
لو كتبتك نفس العنوان السابق ولكن بإضافة كويري سترنج جديد، مثال:
http://localhost/productInfo.php?prodId=1&se=43567654
ستلاحظ أنه يعطيك نفس الصفحة تماما مع العلم أن المتغير الثاني ليس له أي دخل بالكود، هكذا الحال مع المثال اللذي أوردته فهو سيعتبر أنه شيء زائد
حتى لا أغثك بكثرة الكلام
جرب هذه الطريقة يمكن تزيد في التحكم:
RewriteRule ^products/([0-9][0-9])(/|.)$ productInfo.php?prodId=$1 [L]
جرب وأخبرنا
جربت اخوي نفس الشي
مع اني شفت مواقع مطبقه الطريقه بس اجنبيه
جرب إحدى الطرق التالية إن شاء الله تمشي أمورك
مشكلتي اني حاليا ما أقدر أجرب على جهازي لذلك أنا أحاول أفكر في الحل وأطلب منك تجرب
بالمناسبة، هناك يكون فروقات بين كل سيرفر وآخر، وخاصة لو كنت تشتغل على ويندوز فسوف يفرق معك لو جربت على الويندوز ثم عملت أبلود على سيرفر لينكس، راح يكون هناك فرق
RewriteRule ^products/([0-9][0-9])/?$ productInfo.php?prodId=$1 [L]
أو
RewriteRule ^products/([0-9][0-9])(/)$ productInfo.php?prodId=$1 [L]
بالتوفيق
مشكور اخوي عبد الله بيض الله وجهك ضبط معي الكود الاول تمام
هذا الموضوع مغلق.