我在我的php网站上使用htaccess文件作为漂亮的网址。 htaccess文件位于以下位置:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?mod=$1 [QSA,L]
当我写127.0.0.1/mysite/param1这样的网址时,就意味着; 127.0.0.1/mysite/index.php?mod=param1和页面加载没有任何问题。
但是,当我写URL 127.0.0.1/mysite/param1**/**时,css和js文件不会加载到页面上。因为我的css和js文件位于inc /目录中并且路径发生了变化。路径转为: 参数1 / INC / jsfile.js
我该如何解决?
答案 0 :(得分:1)
这是因为您为资产使用了相对链接。将此代码添加到html中的head
部分。
<base href="http://domain.com/mysite/" />
或者您可以在路径中添加前导/
。
<link rel="stylesheet" type="text/css" href="/path/to/style.css">
更新,因为您在子文件夹中使用它。
答案 1 :(得分:0)
感谢Panama Jack和Kneecht,您的回答很有帮助。
首先;我使用了<base>
标记。但仍然没有工作,虽然路径是正确的。当我在源代码中点击它时,我检查了chrome,js和css文件在新选项卡中成功打开,但它们没有影响页面。我没有解决它,我认为问题是缓存或类似的东西。
所以我尝试了另一种解决方案:文件的完整路径。
我在index.php文件的顶部定义了基本URL,并在需要时使用它:
define("BASE", "http://127.0.0.1/mysite/");
<link href="<?php echo constant("BASE") ?>inc/style.css" rel="stylesheet" type="text/css">
这很有效。