突然间,我开始为像http://example.localhost/javascript/jquery.min.js
这样的文件获取404。
早些时候一切都很顺利。我没有改变任何吐露,至少没有手动。
但是现在,如果我试图访问/javascript
目录本身,就会在Apache日志中获得"Cannot serve directory /usr/share/javascript/: No matching DirectoryIndex (index.html,index.cgi,index.pl,index.php,index.xhtml,index.htm) found, and server-generated directory index forbidden by Options directive
。
发布于 2014-02-11 07:29:59
我试图在堆栈溢出的情况下找到解决这个问题的方法,但我做不到,所以如果有人碰巧遇到同样的问题,我就把这个留在这里。
那么,为什么它会出现在/usr/share/javascript中,而不是我在VirtualHost中配置的内容。为了弄清这一点,我做了如下事情:
$ cd /etc/apache2
$ grep -R Alias * | grep share
...
conf-enabled/javascript-common.conf:Alias /javascript /usr/share/javascript/
...
在谷歌搜索配置文件名之后,我找到了一些解释。
我不知道为什么,但我已经安装了javascript-常见包。摆脱它似乎并不有害,所以做$ sudo apt-get purge javascript-common
为我解决了这个问题。
发布于 2015-08-13 03:31:08
您不需要编辑conf文件或清除包,只需禁用它。
a2disconf javascript-common
service apache2 reload
如果出于某种原因,您想使用该conf:
a2enconf javascript-common
service apache2 reload
发布于 2014-09-09 03:17:21
The 问题
使用JavaScript的Web应用程序需要通过HTTP分发它。为每个脚本使用公共路径避免了在HTTP服务器中为每个包启用此路径的需要。
这是创建/usr/share/javascript
别名并在Apache服务器中启用它的包。
推荐的修正
就是这样。javascript目录没有任何其他问题。另一个修复方法是将/usr/share/javascript/
重命名为/usr/share/javascript-common/
,然后调整javascript-common.conf
中的别名以指向重命名的目录。我仍然不确定这是否会影响任何未来的更新。
另一个解决办法是:
去/etc/apache2/conf-available/javascript-common.conf
。你会发现:
Alias /javascript /usr/share/javascript/
<Directory "/usr/share/javascript/">
Options FollowSymLinks MultiViews
</Directory>
因此,您只需注释这些行(使用#
char) (不建议直接在启用conf的情况下编辑文件),以避免出现禁止的错误。在此之后,执行以下操作:
a2disconf javascript-common
a2enconf javascript-common
https://stackoverflow.com/questions/21706067
复制相似问题