بسيطة mod_rewrite وموقع دير
-
19-09-2019 - |
سؤال
أنا صنع موقع مع ألبومات الصور للوكلاء. كل وكيل لديه مجلده مع ملف .css. يحتوي كل وكيل DIR على مجلدات ألبوم مع index.php و .css
/example.com/
/agent001/
agent001.css
/000005/
index.php
main.css
/photos/
aaa.jpg
bbb.jpg
/000006/
index.php
...
/agent002/
agent002.css
/000009/
...
لذلك فإن المسار إلى Agent's 000005 الألبوم سيكون: /agent001/000005/index.php
اريد اختصار مثل: /000005/
التي للأمام إلى /agent001/000005/some-title-here
شيء آخر لا أستطيع حقا الحصول على رأسي هو هيكل دير الخاص بي. أحتاج حقا إلى مجلدات الوكيل والألبوم لتنظيم أشيائي. ولكن index.php و main.css هي نفسها، هل يجب أن أتحرك هذه الملفات إلى الجذر؟
أي مساعدة في تقدير كبير!
المحلول
هذا غير ممكن مع mod_rewrite. ستحتاج إلى بعض البرنامج الذي يمشي من خلال دلائل الوكيل يتحقق إذا كان هناك مجلد بهذا الاسم.
ولكن إلى جانب أن عناوين URL قصيرة لن تكون مميزة بعد الآن. لأنها مثل قال ماكس س. في التعليقات, ، كيف ينبغي /000005/
يتم تعيينه إذا كان أكثر من وكيل واحد لديه ألبوم "000005"؟ أم أن هذه القيمة الفريدة لجميع الوكلاء؟
واستخدام مثيل مركزي من index.php. و main.css. هو الخيار الأفضل لتجنب التكرار والتعقيد. في هذه الحالة، يمكنك استخدام mod_rewrite لإعادة كتابة الطلبات إلى ملفاتك المركزية مثل:
RewriteRule ^[^/]+/[^/]+/index\.php$ /index.php