mod_rewrite в родительский каталог - PullRequest
1 голос
/ 23 февраля 2012

Я хотел бы создать файл .htaccess, который бы выполнял эту логику:

Если запрошенный файл не найден, попробуйте найти его в каталоге выше.

Я не хочу перенаправлять браузер. Я просто хотел бы внутренне переписать запрос.

Я много пытался и искал это, но всегда застревал, потому что (как я понял из журнала), где я мог сделать переписать путь, всегда был уже без префикса для каждого каталога. В приведенном ниже примере файл .htaccess находится в папке lang. Если определенный файл lang не найден, он должен просто взять файл из родительской папки. Я понимаю, что это можно сделать, жестко закодировав родительский каталог или поместив файл .htaccess выше, но теперь, когда я так долго мучился с попытками, мне было бы очень интересно узнать, возможно ли это вообще так.

strip per-dir prefix: X:/localhost/htdocs/peopletest/public/img/root_cli/lang/en/loginhead.gif -> en/loginhead.gif
applying pattern 'somePattern' to uri 'en/loginhead.gif'

Спасибо за помощь.

SWK

1 Ответ

1 голос
/ 23 февраля 2012

Как это?

RewriteCond %{DOCUMENT_ROOT}/%{SCRIPT_FILENAME} !-f
RewriteCond %{DOCUMENT_ROOT}/%{SCRIPT_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/%{SCRIPT_FILENAME} !-l
RewriteRule /[^/+]/([^/]+)$ $1
...