uKo*_*lka 14 apache ubuntu debian
突然之间,我开始为像文件这样的文件获得404s http://example.localhost/javascript/jquery.min.js
早些时候一切都很好.我没有改变任何配置,至少不是手动.
但是现在如果我尝试访问/javascript
目录本身,我会进入"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
Apache错误日志.
uKo*_*lka 23
我试图在Stack Overflow上找到解决方案,但我不能.所以如果有人碰巧遇到同样的问题我就离开这里.
那么为什么它会在/ usr/share/javascript中看起来而不是我在VirtualHost中配置的内容.为了解决这个问题,我做了类似以下的事情:
$ cd /etc/apache2
$ grep -R Alias * | grep share
...
conf-enabled/javascript-common.conf:Alias /javascript /usr/share/javascript/
...
Run Code Online (Sandbox Code Playgroud)
在谷歌搜索该配置文件名后,我找到了一些解释.
我不知道为什么,但我安装了javascript-common软件包.摆脱它似乎没有害处,所以这样做$ sudo apt-get purge javascript-common
解决了我的问题.
使用JavaScript的Web应用程序需要通过HTTP分发它.为每个脚本使用公共路径可以避免在HTTP服务器中为每个包启用此路径.
这是创建/usr/share/javascript
别名的包,并在Apache Web服务器中启用它.
就是这样.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>
Run Code Online (Sandbox Code Playgroud)
所以你只需要注释这些行(使用#
char)(不建议直接在conf-enabled中编辑文件)以避免禁止错误.之后,执行以下操作:
a2disconf javascript-common
a2enconf javascript-common
Run Code Online (Sandbox Code Playgroud)
您不需要编辑conf文件或清除包只是禁用它.
a2disconf javascript-common
service apache2 reload
Run Code Online (Sandbox Code Playgroud)
如果由于某种原因你想使用那个conf:
a2enconf javascript-common
service apache2 reload
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
20061 次 |
最近记录: |