Мой конфиг Apache имеет следующие операторы:
DocumentRoot /home/x/public/
<Location />
Order Allow,Deny
Allow from all
Options -ExecCGI -Indexes
</Location>
В каталоге / home / x / public /
есть каталог / media
RewriteRule ^(/media/.+) $1 [L]
Файлы мультимедиа должны быть оставлены нетронутыми и обслуживаться Apache - остальные запросы перенаправляются на прокси-сервер Ruby on Rails.
Всякий раз, когда я пытаюсь получить доступ к файлу в / media через браузер, Apache пытается использовать / media / file (в корневом каталоге файловой системы) вместо / home / x / public / media / file
Если я переименую / media в / medias, файл / home / x / public / media / file будет обслуживаться правильно.
Как я могу предотвратить это поведение?
Редактировать: добавление журналов mod_rewrite:
Если "mv / media / / medias":
applying pattern '^(/media/.+)' to uri '/media/css/TableTools.css'
rewrite '/media/css/TableTools.css' -> '/media/css/TableTools.css'
local path result: /media/css/TableTools.css
prefixed with document_root to /home/x/public/media/css/TableTools.css
go-ahead with /home/x/public/media/css/TableTools.css [OK]
Если "mv / medias / media":
applying pattern '^(/media/.+)' to uri '/media/css/TableTools.css'
rewrite '/media/css/TableTools.css' -> '/media/css/TableTools.css'
local path result: /media/css/TableTools.css
go-ahead with /media/css/TableTools.css [OK]