我目前正在使用Apache Server
使用URL
运行我的脚本:
http://MY_IP/cgi-bin/example.cgi/
工作正常。
但是,我不确定将.css
文件放在何处。我读到它不属于cgi-bin
目录。
这就是我在000-default.conf
文件中的内容。
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
我已尝试将其置于此处并使用:
<link rel="stylesheet" type="text/css" href="/var/www/html/login.css"/>
但无济于事。
有人可以帮我解决这个问题吗?
谢谢。
答案 0 :(得分:2)
虽然这总是个人偏好的问题,但是很多人在他们的根目录下为javascript,css,图像等创建目录 - 所以任何静态页面都在/var/www/html
,资产是在子目录中,例如/var/www/html/css
,/var/www/html/javascript
,/var/www/html/images
等。
在静态html页面(/var/www/html
)中,您可以使用相对链接引用这些内容,例如<link rel="stylesheet" href="css/style.css">
,<script src="javascript/my-script.js">
或绝对链接,例如<link rel="stylesheet" href="http://MY_IP/css/style.css">
。对于服务器上但不在/var/www/html
中的页面,使用/css/style.css
是相对链接的相应形式,因为/
等同于本地目录/var/www/html
(即在Apache中设置DocumentRoot
,所以/css
访问本地目录/var/www/html/css
。
您还可以使用页眉中的<base>
标记为所有相关链接设置基本href:
<base href="http://MY_IP">
然后,任何相对链接(例如href="css/style.css"
)都会自动解释为(例如)http://MY_IP/css/style.css
。
答案 1 :(得分:2)
看起来你把它放在正确的地方。这只是href
你错了。
您的Apache配置包含此行
DocumentRoot /var/www/html
这意味着您网站的根目录为/var/www/html
。因此,查看网站根目录的URL将转换为该目录中的文件。
href
属性是URL,而不是文件路径。因此,如果您将login.css
放在此目录中,那么正确的链接将是:
<link rel="stylesheet" type="text/css" href="/login.css" />
但是很多人会把他们的CSS文件放在一个名为/css/
的子目录中(它在你的文件系统上映射到/var/www/html/css
)。如果你这样做,那么正确的链接就会变成。
<link rel="stylesheet" type="text/css" href="/css/login.css" />