Мод Переписать структуру каталогов, чтобы они выглядели иначе - PullRequest
0 голосов
/ 07 июня 2011

Ненавижу просить о помощи, но редактирование .htaccess - это одна из тех вещей в жизни, которую я не могу и никогда не буду оборачивать.Я уже несколько месяцев пытаюсь учиться, и у меня ничего нет.Я наконец признаю поражение и прихожу за помощью!

У меня есть каталог: -

http://example.com/images/blog/year/month/anyfilename.jpg

Что бы я хотел, если это возможно.Чтобы всегда отображаться как: -

http://example.com/pix/anyfilename.jpg

Затем я продолжу загружать файлы в правильных каталогах года / месяца, которые будут видны только мне.Внешне для посетителей они увидели бы последний URL, если бы просмотрели изображение (я могу позаботиться о том, чтобы парсинг ссылок на страницах PHP соответствовал переписанному «виртуальному» каталогу, самому, чтобы не было проблем).

Когда я приблизился к тому, чтобы это работало, изображения больше не были видны, что имеет смысл, но я подумал, что возможность перезаписывать URL-адреса заключалась в том, чтобы избежать необходимости перемещать файлы тоже?

У меня включен RewriteEngine и Options + FollowSymlinks, и я знаю, что все настроено правильно, так как работают другие правила и перенаправления.Это просто то, что не хочет играть.

У меня нет примеров, чтобы показать, как у меня нет примеров, которые работают.Я искал везде, приближался к ответу, но никогда не был достаточно близко к тому, что мне нужно, чтобы на самом деле работать на меня.У меня нет идей.

Помоги мне, Оби-Ван Переполнение, ты моя единственная надежда.

1 Ответ

0 голосов
/ 07 июня 2011

Вы не можете делать то, что пытаетесь сделать, просто переписав мод. Проблема в том, что у вас есть несколько мест, где файл может находиться, и ваше правило перезаписи не принимает никаких данных о том, где его найти. Вы можете сделать что-то вроде http://www.example.com/pix-month-year/anyfilename.jpg. Перезапись мода не является языком сценариев.

В качестве альтернативы, вы можете создать PHP-скрипт, который вы передаете в имени файла, и он может искать в каталогах изображений, пока не найдет совпадение, и передавать данные изображений в браузер. (Не забудьте указать одно и то же имя файла в нескольких папках.)

Ваш mod_rewrite будет просто что-то вроде этого.

RewriteRule ^pix/(.*)$ find-pix.php?filename=$1 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...