Переопределение файла Htaccess с откатом к оригиналу - PullRequest
0 голосов
/ 20 января 2020

Я пытаюсь понять, как выглядит переопределенная система в apache htaccess. Можно ли рекурсивно переопределить файлы в webroot/foo/ с файлами в webroot/foo/override? Например, в запросе на webroot/foo/sub/sub3/file.txt я хотел бы вернуть webroot/foo/override/sub/sub3/file.txt, если он существует, или вернуться к исходному файлу webroot/foo/sub/sub3/file.txt и, в конечном итоге, к ошибке 404, если это пропущено.

Кроме того, htaccess лучшее место для таких вещей?

1 Ответ

1 голос
/ 20 января 2020

Используйте %{DOCUMENT_ROOT} здесь, вот так:

RewriteEngine On
RewriteCond %{THE_REQUEST} /foo/(.*)\sHTTP.*$
RewriteCond %{DOCUMENT_ROOT}/foo/override/%1 -f
RewriteRule ^foo/(.*)$ /foo/override/$1 [L,R]

Эти правила будут захватывать часть запроса после /foo, затем проверьте, действителен ли этот запрос, добавив /override в противном случае, будьте как есть. поэтому, будучи правильным запросом или обработанным как неправильный запрос, вы должны добавить правило для обработки неправильного запроса, если его нет в ваших исходных правилах.

Примечание: изменить R на R=301 если правила выше в порядке

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...