我对apache很新。我想创建一个由apache托管的网站,所以这就是我所做的: 我在/ var / www / html中创建了一个名为'test'的新文件夹 我将index.html,js和css文件放在新文件夹
中然后我尝试通过localhost / test访问网站,显示html页面,但我无法访问js和css文件。在控制台中,它显示“NetworkError:404 Not Found - http://localhost/main.js” 为什么网址中缺少'/ test'?
我的index.html有<script type="text/javascript" src="main.js">
谁能弄明白什么是错的?
更新
我检查了dir.conf并添加了“DirectorySlash on”,现在它看起来像:
<IfModule mod_dir.c>
DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
DirectorySlash on
</IfModule>
我注意到当我尝试访问http://localhost/test
时,它会在结尾添加“/”,但我仍然会收到同样的错误。
答案 0 :(得分:0)
当您使用具有相对路径的URL时,它将相对于其相对于URL中的最后一个/
进行计算。
您正在访问:
http://localhost/test
修剪了 test
,并添加了main.js
。
如果你在
http://localhost/test/
然后最后一个/
就在最后,因此会解析为http://localhost/test/main.js
。
如果/test
是目录,Apache通常会将您从/test/
重定向到test
(特别是为了避免此问题)。您应该编辑配置文件以启用the directoryslash directive:
DirectorySlash on
这是默认设置,但您必须拥有禁用它的版本。