![](/img/trans.png)
[英].htaccess RewriteRule blocked/ignored for .css and .js extension?
[英]htaccess RewriteRule doesnt load js-css libraries
我在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之类的URL时,它的意思是; 127.0.0.1/mysite/index.php?mod=param1和页面加载没有任何问题。
但是,当我编写URL 127.0.0.1/mysite/param1**/**时,css和js文件不会加载到页面上。 因为我的css和js文件位于inc /目录中,并且路径更改了。 路径变成这样:param1 / inc / jsfile.js
我该如何解决?
这是因为您正在使用相对链接作为资产。 将此代码添加到html的head
。
<base href="http://domain.com/mysite/" />
或者,您可以像这样在路径中添加前导/
。
<link rel="stylesheet" type="text/css" href="/path/to/style.css">
已更新,因为您正在子文件夹中使用它。
感谢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">
这可行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.