Php Css、图像和js在.htaccess文件中不起作用

Php Css、图像和js在.htaccess文件中不起作用,php,apache,.htaccess,mod-rewrite,Php,Apache,.htaccess,Mod Rewrite,下面是我的代码,我的代码无法获取位于不同文件夹中的所有css、js和图像 RewriteEngine On RewriteBase / RewriteCond ${REQUEST_URI} ^.+$ RewriteCond %{REQUEST_FILENAME} \.(gif|jpe?g|png|js|css|swf|php|ico|txt|pdf|xml)$ [NC] [OR] RewriteCond %{THE_REQUEST} \s/+product\.php\.css\?id=([^\

下面是我的代码,我的代码无法获取位于不同文件夹中的所有css、js和图像

RewriteEngine On

RewriteBase /
RewriteCond ${REQUEST_URI} ^.+$
RewriteCond %{REQUEST_FILENAME} \.(gif|jpe?g|png|js|css|swf|php|ico|txt|pdf|xml)$ [NC] [OR]
RewriteCond %{THE_REQUEST} \s/+product\.php\.css\?id=([^\s&]+) [NC]
RewriteRule ^ product/%1? [R=301,L]

RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f 
RewriteRule ^ - [L]

RewriteRule ^product/([^/.]+)/?$ product.php?id=$1 [L,QSA]

RewriteRule ^([A-Za-z\s0-9-]+)/?$ /product.php?id=$1 [L,QSA]
重写规则^product/%1?[R=301,L]

这几乎肯定是由于在HTML中使用CSS、JS和图像的相对路径造成的。您将请求重定向到一个“虚拟”子目录,因此HTML中的任何相对路径都将是相对于该子目录的,而不是文档根目录,这可能是必需的

您需要在
head
部分中设置
base
标记,以说明所有相对URL都是相对的URL。或者将URL更改为根相对(以斜杠开头)或绝对。例如:

<base href="http://example.com/product.php">

另请参见我对专业网站管理员堆栈上类似问题的回答:

您的问题是,您的相对URI的基础已更改。最初,当页面为
/product.php
时,基是
/
,浏览器正确地用
/
基填充相关链接。但是当浏览器进入一个像
/product/
这样的页面时,基底突然变成
/product/
,它试图将其附加到所有相关URL之前,因此没有加载任何URL

您可以将链接设置为绝对链接,也可以更改页面标题中的URI基(在
标记之间):


浏览器在寻找什么?您可以检查控制台以查看它正在尝试获取哪些文件。也许这只是一个相对路径问题。
<base href="/">