Mohamed Abdel Moaty نشر 23 مايو 2023 أرسل تقرير نشر 23 مايو 2023 (معدل) لدي الشرط اريد استخدمه بشكل مفصل مثل لدي ثلاث متغيرات اريدهم العمل علي نفس الصفحة لي هي egypt.php اريد الروابط الاتية تعمل علي نفس الصفحة www.example.com/egypt/cairo/ www.example.com/egypt/cairo/almaadi/ www.example.com/egypt/cairo/almaadi/rent/ RewriteRule ^egyp/(.*)/(.*)/(.*)/$ egypt.php?id=$1&id1=$2&id3=$3 تم التعديل في 23 مايو 2023 بواسطة Mustafa Suleiman تعديل عنوان السؤال 1 اقتباس
1 Mustafa Suleiman نشر 23 مايو 2023 أرسل تقرير نشر 23 مايو 2023 حاول استخدام التعديل التالي على ملف .htaccess: RewriteEngine On RewriteBase / RewriteRule ^egypt/([^/]+)/?$ egypt.php?id=$1 [QSA,L] RewriteRule ^egypt/([^/]+)/([^/]+)/?$ egypt.php?id=$1&id1=$2 [QSA,L] RewriteRule ^egypt/([^/]+)/([^/]+)/([^/]+)/?$ egypt.php?id=$1&id1=$2&id3=$3 [QSA,L] وذلك التعديل يتيح لك استخدام الروابط التي تحددها بصورة صحيحة. الـRewriteRule الأولى تتعامل مع الرابط الأساسي، وتحوّل www.example.com/egypt/cairo/ إلى www.example.com/egypt.php?id=cairo. الـRewriteRule الثانية تتعامل مع رابط يحتوي على متغيرين، وتحوّل www.example.com/egypt/cairo/almaadi/ إلى www.example.com/egypt.php?id=cairo&id1=almaadi. أما الـRewriteRule الثالثة، فتتعامل مع رابط يحتوي على ثلاثة متغيرات، وتحوّل www.example.com/egypt/cairo/almaadi/rent/ إلى www.example.com/egypt.php?id=cairo&id1=almaadi&id3=rent. ويرجى التأكد من أنك قمت بتمكين مود Rewrite في خادم الويب الذي تستخدمه وأن ملف .htaccess موجود في المسار الصحيح. كما يجب أن يكون لديك صلاحيات القراءة والكتابة على ملف .htaccess. اقتباس
0 Mohamed Abdel Moaty نشر 23 مايو 2023 الكاتب أرسل تقرير نشر 23 مايو 2023 شكرا لك علي سرعة الاستجابة ولكن ليس هناك طريق لستخدام الكل في رابط الواحد بهذا الشكل RewriteRule ^egyp/(.*)/(.*)/(.*)/$ egypt.php?id=$1&id1=$2&id3=$3 1 اقتباس
0 Adnane Kadri نشر 23 مايو 2023 أرسل تقرير نشر 23 مايو 2023 بتاريخ الآن قال Mohamed Abdel Moaty: شكرا لك علي سرعة الاستجابة ولكن ليس هناك طريق لستخدام الكل في رابط الواحد بهذا الشكل RewriteRule ^egyp/(.*)/(.*)/(.*)/$ egypt.php?id=$1&id1=$2&id3=$3 إذا كنت ترغب في استخدام جميع الثلاثة متغيرات في رابط واحد، فيمكنك تعديل القاعدة لتتناسب مع ذلك. يمكنك استخدام القاعدة التالية: RewriteEngine On RewriteRule ^egypt/(.*)$ egypt.php?params=$1 [L] RewriteEngine On RewriteRule ^egypt/(.*)$ egypt.php?params=$1 [L] بهذه الطريقة، يمكنك استخدام الروابط التالية على نفس الصفحة egypt.php: www.example.com/egypt/cairo/ www.example.com/egypt/cairo/almaadi/ www.example.com/egypt/cairo/almaadi/rent/ وسيتم تمرير الجزء الكامل بعد /egypt/ كقيمة واحدة للمتغير params في egypt.php. في داخل egypt.php، يمكنك استخدام دالة مثل explode() لتجزئة القيمة والوصول إلى كل جزء على حدة. اقتباس
0 عبدالباسط ابراهيم نشر 24 مايو 2023 أرسل تقرير نشر 24 مايو 2023 بتاريخ 13 ساعة قال Mohamed Abdel Moaty: شكرا لك علي سرعة الاستجابة ولكن ليس هناك طريق لستخدام الكل في رابط الواحد بهذا الشكل RewriteRule ^egyp/(.*)/(.*)/(.*)/$ egypt.php?id=$1&id1=$2&id3=$3 يمكنك استخدام الحل التالي RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^egypt/(.*)$ egypt.php/$1 [L] في هذا المثال، يتم استخدام الشرط %{REQUEST_FILENAME} !-f لتحويل الروابط التي لا تشير إلى ملفات في الموقع، والشرط %{REQUEST_FILENAME} !-d لتحويل الروابط التي لا تشير إلى مجلدات في الموقع، وذلك لتجنب تحويل الروابط الثابتة في الموقع. يتم استخدام النمط ^egypt/(.*)$ لتحويل جميع الروابط التي تحتوي على متغيرات إلى صفحة واحدة egypt.php.يتم استخدام خاصية RewriteCond لفحص الشرط %{REQUEST_FILENAME} !-f و%{REQUEST_FILENAME} !-d للتأكد من عدم وجود ملف أو مجلد بالاسم المطلوب في الطلب، وهذا يضمن تحويل الروابط فقط إذا لم يتم العثور على ملف أو مجلد بهذا الاسم في الموقع. يتم استخدام الشرط [L] في نهاية القاعدة RewriteRule لإيقاف تطبيق أي قواعد أخرى إذا تم تحويل الرابط بنجاح. يجب أن يتم وضع هذه القاعدة في ملف .htaccess ووضع الملف في المجلد الرئيسي لموقع الويب. يجب التأكد من تفعيل إعادة الكتابة RewriteEngine في ملف htaccess وأن يكون الملف قابل للقراءة والكتابة من قبل المستخدم المسؤول عن الخادم. اقتباس
السؤال
Mohamed Abdel Moaty
لدي الشرط اريد استخدمه بشكل مفصل
مثل لدي ثلاث متغيرات اريدهم العمل علي نفس الصفحة لي هي egypt.php
اريد الروابط الاتية تعمل علي نفس الصفحة
www.example.com/egypt/cairo/
www.example.com/egypt/cairo/almaadi/
www.example.com/egypt/cairo/almaadi/rent/
RewriteRule ^egyp/(.*)/(.*)/(.*)/$ egypt.php?id=$1&id1=$2&id3=$3
تم التعديل في بواسطة Mustafa Suleimanتعديل عنوان السؤال
4 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.