سؤال

RewriteEngine on
RewriteRule ^/(dir1|dir2|dir3)/(.*)$ /targetfile.php [R,L]

وhttp://www.somesite.com/dir1 -> http://www.somesite.com/targetfile.php
http://www.somesite.com/dir2 -> http://www.somesite.com/targetfile.php
http://www.somesite.com/dir3 -> http://www.somesite.com/targetfile.php

ومن ما رأيته على الانترنت، وهذا يجب أن تعمل. لسوء الحظ، فإنه متعود. أي فكرة؟

هل كانت مفيدة؟

المحلول

إذا كنت تريد استخدام هذا في ملف هتكس، إزالة الخط المائل المؤدي من النمط. ولتتناسب مع شرائح الوحيدة المسار الكامل، لديك لتغيير التعبير قليلا.

وذلك في محاولة هذا:

RewriteEngine on
RewriteRule ^(dir1|dir2|dir3)(/|$) targetfile.php [R,L]

نصائح أخرى

وأنا لا أعتقد هي مائلة إلى الأمام اللازمة، إلا إذا كنت ترغب في تقييد أن تتطلب مائل زائدة بعد "dir1."

وجرب:     RewriteRule ^ (dir1 | dir2 | dir3) $ targetfile.php [QSA، L]

وأعتقد أن المشكلة هي أن التعبير العادي ينص مائلة بعد اسم الدليل (على سبيل المثال / dir1 /)، ولكن في المثال تم حذف الخط المائل الماضي (<لأ href = "http://www.somesite.com / dir1 "يختلط =" noreferrer نوفولو "> http://www.somesite.com/dir1 لم يكن لديك زائدة مائل).

وأعتقد أنك يمكن أن مجرد محاولة مع

RewriteRule ^/(dir[1-3]) /targetfile.php [R,L]
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top