Простая структура mod_rewrite и директории сайта - PullRequest
0 голосов
/ 10 февраля 2010

Я делаю сайт с фотоальбомами для агентов. Каждый агент имеет свою папку с файлом .css. Каждый каталог агента имеет папки альбомов с 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/
        ...

Таким образом, путь к альбому агента 000005 будет: /agent001/000005/index.php

Я хочу ярлык, например: /000005/, который переходит к /agent001/000005/some-title-here

Еще одна вещь, которую я не могу осознать, это моя структура режиссера. Мне очень нужны папки с агентами и альбомами, чтобы организовать мои вещи. Но index.php и main.css - это одно и то же, я должен переместить эти файлы в корень?

Любая помощь с благодарностью!

1 Ответ

0 голосов
/ 10 февраля 2010

Это невозможно с mod_rewrite. Вам понадобится какая-нибудь программа, которая просматривает каталоги агентов и проверяет, существует ли папка с таким именем.

Но, кроме того, ваши короткие URL больше не будут различаться. Потому что, как Макс С. сказал в комментариях , как следует сопоставить /000005/, если у нескольких агентов есть альбом «000005»? Или это значение уникально для всех агентов?

И использование центрального экземпляра index.php и main.css - лучший выбор, чтобы избежать избыточности и сложности. В этом случае вы можете использовать mod_rewrite для перезаписи запросов к вашим центральным файлам, например:

RewriteRule ^[^/]+/[^/]+/index\.php$ /index.php
...