قم بتكييف mod_rewrite RewriteRule الخاص بـ Apache بحيث لا يعمل على الدلائل الفعلية
-
02-07-2019 - |
سؤال
لدي RewriteRule الذي يعمل بشكل جيد للغاية :-)
RewriteRule ^([^/]*)/$ /script.html?id=$1 [L]
الشيء السيئ في هذه القاعدة هو أنها تتطابق أيضًا مع الأدلة الفعلية التي لا أريدها.
كيف يمكنني أن أقول mod_rewrite
لتجاهل الدلائل الفعلية وتطبيق القاعدة المذكورة أعلاه فقط في حالة عدم وجود الدليل المطابق؟
المحلول
نلقي نظرة على RewriteCond.ضع ما يلي قبل القاعدة الخاصة بك لاستثناء الدلائل والملفات
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
نصائح أخرى
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)/$ /script.html?id=$1 [L]
لا تنتمي إلى StackOverflow