Apache为/ javascript目录中的请求返回404

rod*_*ira 0 apache ubuntu ubuntu-13.10

我有一个包含多个子目录的项目.一切正常,除非我尝试访问/ root/javascript目录中的文件,我得到404.文件确实存在,我实际上正确地键入路径.如果我只是重命名目录,我就可以访问这些文件.重新命名,我再次获得404.VHost文件工作正常.没有涉及.htaccess文件.

Apache版本:2.4.9

操作系统:Ubuntu 13.10

rod*_*ira 6

经过多次搜索和尝试不同的事情后,问题归结为:

默认情况下,Ubuntu上的Apache 2.4启用一个名为javascript-common的配置文件,它将对/ javascript(即项目根目录中名为'javascript'的目录)内的文件的任何请求重定向到/ usr/share/javascript.

解决方案1

使用以下命令禁用javascript-common配置文件:

a2disconfig javascript-common
Run Code Online (Sandbox Code Playgroud)

解决方案2

在/ usr/share/javascript目录中添加JavaScript文件.这样Apache实际上会找到这些文件,并且不会返回404.以这种方式执行操作的一个好处是,您不需要多个项目使用的相同文件(jquery.js等等)的多个副本...

解决方案3

删除目录/ usr/share/javascript,并创建指向项目的/ javascript目录的符号链接.请记住,如果您有多个项目(vhost文件),它们将从原始项目的相同JavaScript文件中提供服务.换句话说,这可能不是最好的解决方案......

  • 在 Ubuntu 18.04 上,出于某种原因,它被称为 `a2disconf`。 (2认同)