首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Apache访问/media/而不是DocumentRoot/media

Apache访问/media/而不是DocumentRoot/media
EN

Stack Overflow用户
提问于 2012-02-14 18:47:53
回答 1查看 109关注 0票数 0

我的Apache配置包含以下语句:

代码语言:javascript
运行
复制
    DocumentRoot /home/x/public/
    <Location />
       Order Allow,Deny
       Allow from all
      Options -ExecCGI -Indexes
    </Location>

/media目录位于/home/x/public/下

代码语言:javascript
运行
复制
    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“:

代码语言:javascript
运行
复制
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“:

代码语言:javascript
运行
复制
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]
EN

回答 1

Stack Overflow用户

发布于 2012-02-14 19:21:42

通过将rewriterule更改为:

RewriteRule ^(/media/.+) /home/x/public/$1 L

虽然丑陋,但它是有效的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9275539

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档