我的程序目录:
xampp
|- cgi-bin
|- home.py
|- style.css
|- script.js
在home.py中,我嵌入了style.css
和script.css
print "Content-type:text/html\r\n\r\n"
print '<html>'
print ' <head>'
print ' <meta http-equiv="content-type" content="text/html; charset=UTF-8">'
print ' <title>Home</title>'
print ' <link rel="stylesheet" type="text/css" href="style.css">'
print ' <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"> </script>'
print ' <script src="script.js"></script>'
但它不起作用,在我的控制台中显示:
"NetworkError: 500 Internal Server Error - http://localhost/cgi-bin/script.js"
&amp;
"NetworkError: 500 Internal Server Error - http://localhost/cgi-bin/style.js"
另一个案例:
我在嵌入时尝试了/style.css
和/script.js
:
结果
"NetworkError: 404 Not Found - http://localhost/style.css"
"NetworkError: 404 Not Found - http://localhost/script.js"
尝试/cgi-bin/style.css
,cgi-bin/script.css
显示带有绝对路径的 500内部服务器错误
尝试使用绝对路径:http://localhost/cgi-bin/style.css
和http://localhost/cgi-bin/script.js
也显示相同的 500内部服务器错误
而jquery与CDN一起工作正常。
有什么我没有配置或有其他方法吗?
答案 0 :(得分:0)
Javascript和CSS不应该在cgi-bin中,它提供文件(通常使用.cgi
或 - 在您的情况下 - .py
扩展名)作为cgi 脚本。相反,.js
和.css
文件通常位于网站根文件夹中,或者(对于Python应用程序)在my_site_root/html/js/
中作为静态文件从应用程序公开可读,如{{1 }}
所以你的cgi-bin不应该通过网络浏览器直接提供文件,比如Javascript和CSS文件。默认情况下,XAMPP将以这种方式设置。
CDN网址始终可以正常工作,因为它正在对外部服务器进行http调用 - 它不会查看本地服务的XAMPP安装。