神剑山庄资源网 Design By www.hcban.com

问题描述

今天调试一个项目,项目放在webroot下面的javascript目录,无论怎么设置都是403 You don't have permission to access /javascript/ on this server.

思考过程

首先第一反应,Google了错误You don't have permission to access /javascript/ on this server. ,然后发现大部分答案都说到了配置文件中的Directory设置。比如

<Directory />
 Options FollowSymLinks
 AllowOverride All
 Order deny,allow
 Allow from all
</Directory>

而我并不是整个webroot都不能访问,其他所有的文件夹都可以访问,就是目录javascript文件夹没有权限访问,我的设置是

<Directory /home/hfx/workspace/>
  Options Indexes FollowSymLinks
#  AllowOverride None
  AllowOverride All
  Require all granted
</Directory>

所以按理来说也是没有问题的,可以单单就是javascript目录无法访问,并且我尝试重新给javascript目录设置权限

chmod 777 -R javascript

然而还是并没有什么卵用,于是我尝试更改javascript变成javaScript或者新建其他的名字的文件夹,而它们均可以正常访问,所以猜想症结应该是那里的配置禁止了web根路径下名字为javascript的路径。

发现问题

于是我看apache的所有配置文件,打开/etc/apache2/conf-enable/目录,发现了一个名为javascript-common.conf的配置文件,打开一看

Alias /javascript /usr/share/javascript/
<Directory "/usr/share/javascript/">
  Options FollowSymLinks MultiViews
</Directory>

其实我并不知道具体是什么意思,可是从字面意思大概看出,配置里面指定了一个别名/javascript到目录/usr/share/javascript/,应该访问/javascript就变成了访问目录/usr/share/javascript/而不是我们在web根目录下创建的javascript目录。

解决方案

于是google一下javascript-common.conf,这才发现了很多真正与此相关的问题,所以真正的解决方案有很多种,有的直接修改别名的名称为/javascript-common,而我觉得最好的解决方案应该是

You don't need to edit the conf file or purge the package just disable it.

a2disconf javascript-common
service apache2 reload

If for some reason you want to use that conf:

a2enconf javascript-common
service apache2 reload

另外解释一下a2disconf和a2enconf的作用,官方的介绍是

a2enconf, a2disconf - enable or disable an apache2 configuration file

从介绍就直接明了它的作用了。快捷的启用或者禁用一个apache模块。

另外还有类似的几个命令:

  • apache2ctl - Apache HTTP server control interface
  • a2enmod, a2dismod - enable or disable an apache2 module

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

标签:
apahce,linux,apahce安装目录

神剑山庄资源网 Design By www.hcban.com
神剑山庄资源网 免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
神剑山庄资源网 Design By www.hcban.com

评论“Ubuntu Apahce2.4下无法访问JS目录的问题解决”

暂无Ubuntu Apahce2.4下无法访问JS目录的问题解决的评论...

RTX 5090要首发 性能要翻倍!三星展示GDDR7显存

三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。

首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。

据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。