Назад | Перейти на главную страницу

если запрошенный файл не существует в a / b / c.jpg для поиска в /old/a/b/c.jpg

Я использую apache 2.2, и он обслуживает веб-сайт, часть содержимого которого перемещена в разные каталоги. есть ли способ иметь какое-то правило перезаписи для файла .htacces, если запрошенный файл (не имеет значения, php или jpg или что-то еще) не существует, чтобы добавить имя каталога и повторить попытку?

например:

если URL-адрес запроса - a / b / c.jpg и его не существует,

чтобы попытаться найти его в /old/a/b/c.jpg.

Спасибо!

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !/old/
RewriteRule ^(.*)$ /old/$1 [L,QSA]

Думаю, тоже нужно проверять справочники. И добавьте последний RewriteCond, чтобы избежать рекурсивных перезаписей.

Я думаю, ты справишься с этим -f (проверьте, существует ли файл). Попробуйте что-нибудь вроде этого (непроверено):

RewriteEngine on
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} ! -f
RewriteRule ^(.*)$ /old/$1 [L,R=301]

Изменить: исправлена ​​опечатка.