سؤال

أنا صنع موقع مع ألبومات الصور للوكلاء. كل وكيل لديه مجلده مع ملف .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
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top