Что является правилами mod_Rewrite для проверки нескольких местоположений папки для данного файла. Например, если у меня есть структура папок:
public/
css/
library1/
css/
library2/
css/
и я хочу запросы к /css/somefile.css
сначала проверять public/css/
каталог, затем расположитесь каскадом к public/library1/css/
затем public/library2/css/
, возврат 404, если актив не может быть найден ни в одном из каталогов.
Я думал вроде:
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond library1%{REQUEST_URI} -f
RewriteRule ^(.*)$ library1$1 [L]
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond library2%{REQUEST_URI} -f
RewriteRule ^(.*)$ library2$1 [L]
Но это, кажется, не работает - я не уверен, как проверить на существование файла на динамично сгенерированном пути.
Попробуйте эти правила:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{DOCUMENT_ROOT}/library1%{REQUEST_URI} -f
RewriteRule ^css/.+ library1%{REQUEST_URI} [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{DOCUMENT_ROOT}/library2%{REQUEST_URI} -f
RewriteRule ^css/.+ library2%{REQUEST_URI} [L]
Каковы ваши критерии для «лучших»?
маринованный огурчик
может сделать большинство структур Python, глубоко вложенные слишком (Тонкая печать:
cPickle.dump (протокол = -1) сжимает, в одном случае 15M соленый/ 60M sqlite, но может сломаться.
Последовательности, которые встречаются много раз, например названия стран, могут занимать больше памяти, чем вы ожидаете;
см. строительный интерн ().
)
RewriteMap Directive может помочь.
Возможно, переменные сервера не содержат то, что вы думаете. Попробуйте увеличить журнал для отладки, чтобы увидеть, что именно происходит.