无法访问 javascript 文件夹

无法访问 javascript 文件夹

我本周注册并设置了一个小型 ubuntu VPS 片段,到目前为止一切都很顺利,除了一个小问题。

我设置了两个虚拟主机,但无法访问每个虚拟主机的 javascript 文件夹。如果我导航到 www.domain1.com/javascript 或 www.domain2.com/javascript,我会收到以下消息...

You don't have permission to access /javascript/ on this server.

如果我将目录重命名为其他名称(例如:js),我可以毫无问题地访问内容。它似乎是一个保留关键字或类似的东西,即使没有 javascript 文件夹,我也会收到相同的消息,而不是 404 消息。

我删除了 .htaccess 文件,以防万一。没有……知道这是怎么回事吗?

答案1

Ubuntu Apache 配置已经有了Alias /javascript /usr/share/javascript/,请参阅 /etc/apache2/conf.d/javascript-common.conf。您可以更改此别名或完全删除此文件,但我不知道这是否会破坏其他内容。

答案2

问题

使用 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>

因此,您只需注释掉这些行(使用字符#)(不建议在启用 conf 的情况下直接编辑文件)即可避免出现禁止错误。之后,执行以下操作:

a2disconf javascript-common
a2enconf javascript-common

答案3

Apache 有一个名为“DirectoryIndexes”的选项,当您访问没有索引文档(index.html、index.php 等)的文件夹的原始路径时,它会像普通文件浏览器一样显示该目录中的文件和文件夹列表。但是,如果 DirectoryIndexes 被禁用,它会在尝试显示文件夹时抛出 403(拒绝访问)错误。

在 /javascript/ 目录中创建一个 .htaccess 文件,内容如下

Options +Indexes

然后再次尝试查看目录,您应该会获得目录中所有文件的列表。

答案4

最简单的方法是覆盖配置中的 /javascript 来反映你想要的内容:Alias /javascript /mycustomdir

相关内容