LINUX.ORG.RU

Запутался с mod_rewrite

 


0

1

При открытии урла http://sub.domain.com/?id=linux_book проверяем наличие файла www/sub.domain.com/cache/linux_book

Если есть - отдавать сразу его, если нет - заворачивать на www/index.php

Под www подразумевается document root.

Заранее спасибо. Приспичило для одной поделки в кратчайшие сроки сделать простейший кеш (использовал бы nginx, но нет возможности в данном случае).

★★☆☆

Могу на пиво скинуть денег или на что-нибудь еще.

А то зашкаливает уже load average: 243.80, 232.94, 205.96 :)

xtraeft ★★☆☆
() автор топика
Последнее исправление: xtraeft (всего исправлений: 1)

Тебе хочется RewriteCond с -f, мне кажется. Вместо пива купи себе шоколадку :)

anonymous
()
Ответ на: комментарий от anonymous

Тебе хочется RewriteCond с -f

Это понятно. Что-то типа

RewriteCond %{REQUEST_URI} ^\?id\=(.*)$
RewriteCond %{DOCUMENT_ROOT}/%{HOST}/cache/%1 -f

По хорошему я бы через nginx отдавал напрямую, или просто им кешировал, но сейчас надо именно апачем.

xtraeft ★★☆☆
() автор топика
Ответ на: комментарий от aol

www - корневая директория с сайтом, в которой находится директория sub.domain.com с содержимым cache/linux_book

sub.domain.com и другие сабдомены прописаны алиасом *.domain.com, указывающим на корневую директорию www.

xtraeft ★★☆☆
() автор топика
Последнее исправление: xtraeft (всего исправлений: 1)
Ответ на: комментарий от hidden_4003

ты может .* не пиши а то можно сделать id=../../index.php и получить исходники.

Это шутка такая? Это ведь не file include, а простой rewrite.

xtraeft ★★☆☆
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.