мод _переписать :Если файл существует в другом каталоге, вместо этого используйте его

У меня есть сайт по адресу example.com/test/. Допустим, веб-сайт оформлен как таковой:

example.com
└── test/
    ├── assets/
    │   └─ stylesheet.css
    │
    ├──.htaccess
    └── index.php

index.phpвот маршрутизатор, как, по-видимому, круто делать в наши дни.

Всякий раз, когда пользователь запрашивает страницу, подобную example.com/test/stylesheet.css, я хочу проверить, есть ли у assets/этот файл, и если да, то передать этот файл вместо того, чтобы указывать URL для index.php. В идеале должно работать следующее:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond assets/%{REQUEST_FILENAME} -f
RewriteRule ^(.+)$ assets/$1

Но поскольку %{REQUEST_FILENAME}— абсолютный путь, assets/%{REQUEST_FILENAME}оказывается чем-то вроде assets/home/public/test/stylesheet.css.%{REQUEST_URI}ничем не лучше :превращается в assets/test/stylesheet.css. Я также просмотрел этот вопрос , но ответ тоже не сработал.

Есть ли способ, не прибегая к PHP, сделать это? (Если нет, я просто использую PHP readfile, но я не хочу беспокоиться о LFI или чем-то еще.)

8
задан Community 23 May 2017 в 11:53
поделиться