Это может быть глупой простой задачей или невозможной.И трудно понять, что искать.Публикация вопроса здесь.
Context
Я получил плагин Wordpress для обработки мультимедиа, и плагин конфигурируется для обслуживания файлов с:
ROOT/wp-content/uploads/protected/
В папке /protected/
есть (пустой index.html) и файл .htaccess
:
RewriteCond %{REQUEST_URI} ^.*uploads/protected/.*
RewriteRule ^(.*)$ http://whatever.com/wp-content/plugins/plugin-name-root/subfolder/access.php?file=$0 [QSA,L]
Итак, файл .htaccess имеет rewriteRule для скрипта PHP, находящегося в плагиневложенная папка.URL-адрес в браузере в итоге выглядит следующим образом:
h ** p: //whwhat.com/wp-content/plugins/plugin-name-root/protect/access.php? File = some-document.pdf
Проблема, которую нужно решить
Этот URL слишком длинный, и я не хочу называть имя плагина в URL.Мне бы хотелось, чтобы обслуживалось файлом access.php в браузере, например (или что возможно):
h ** p: //whwhat.com/access.php? File= some-document.pdf
или даже лучше:
h ** p: //whwhat.com/access/some-document.pdf
Примечание: Я не хочу получить доступ к файлам с новым URL, просто доставить окончательный URL довольно.Мы по-прежнему выводим ссылки на веб-страницу (запросы) с URL-адресом, таким как h ** p: //whwhat.com/wp-content/uploads/protected/some-image-or-document.docx
Протокол (ы) плагинов обрабатывают вывод, как это происходит с readfile()
после проверки.В этом случае скрипт в самом конце исполняется:
readfile('../../../uploads/protected/some-document.pdf');
и браузер показывает (как уже упоминалось):
h**p://whatever.com/wp-content/plugins/plugin-name-root/protect/access.php?file=some-document.pdf
Скриптом и всеми протоколами и скриптами, созданными плагином, можно манипулироватьЭто нормально, по этой причине, поскольку обновления не применяются в любом случае.
Однако мы действительно не хотим изменять исходный файл WordPHROOT .htaccess для перенаправления оттуда.Мы надеемся просто подделать адрес в браузере . медиа-файлы также должны использовать каталог загрузок WordPress по умолчанию с / protect / subfolder.
Можно манипулировать кодом из
a) плагинакод ядра или из
b) .htaccess (созданный плагином) в папке upload / protected / или
c) создайте еще один "новый" файл .htaccess в доступе к плагину.Подпапка php, или
d) отправьте несколько заголовков перед readfile () в скрипте access.php ...
Это контекст!
Пух, кто-нибудь, какие-то мыслиподелиться, чтобы решить мои задачи?