首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Passenger/mod_rails文档要求我显式禁用MultiViews?

为什么Passenger/mod_rails文档要求我显式禁用MultiViews?
EN

Stack Overflow用户
提问于 2011-01-23 23:18:05
回答 1查看 396关注 0票数 3

documentation

代码语言:javascript
复制
<VirtualHost *:80>
    ServerName www.mycook.com
    DocumentRoot /webapps/mycook/public
    <Directory /webapps/mycook/public>
        Allow from all
        Options -MultiViews
    </Directory>
</VirtualHost>

那么为什么要使用下面这行呢?

代码语言:javascript
复制
Options -MultiViews

我粗略地理解了how MultiViews的工作原理,坦率地说,我不明白为什么会有人使用它。然而,我不明白为什么乘客配置指南认为在站点配置中明确禁用该选项如此重要。

有没有人能说明一下情况?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-01-23 23:58:35

我不熟悉Rails,但一般来说,在某些情况下,启用MultiViews可能会导致有趣的行为--最常见的情况是,当输入错误的URL时,它可能会服务于一个页面,而不是像它应该返回的那样返回404。

Here是一篇关于MultiViews另一个微妙的可能问题的博客文章。

This GoDaddy博客指出了另一个有问题的后果:

脚本文件尤其值得关注。假设您有一个旧版本的script.pl文件,您将其复制到script.pl.bak以进行备份。对script.pl.bak的请求仍然会被Apache解释为Perl脚本,导致旧版本的代码被执行!可以想象,由于Apache的这一行为,脚本文件可能会被无意中执行。

归根结底,多视图对于静态HTML页面的集合来说是不错的,但是在具有重写的URL的环境中使用并不是一件真正的好事。

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

https://stackoverflow.com/questions/4774547

复制
相关文章

相似问题

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