Php htaccess重写规则错误重定向资源请求(CSS、JS)

Php htaccess重写规则错误重定向资源请求(CSS、JS),php,.htaccess,rewrite,Php,.htaccess,Rewrite,对于这个问题,我看了一些可能的重复,但是重写规则对于项目来说是相当具体的,所以我找不到合适的答案 问题的症结?对某些文件(CSS、JS和图像)的请求(我认为)正在被htaccess文件重写 我有一个htaccess文件设置为direct,如下所示: Options +FollowSymLinks RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRul

对于这个问题,我看了一些可能的重复,但是重写规则对于项目来说是相当具体的,所以我找不到合适的答案

问题的症结?对某些文件(CSS、JS和图像)的请求(我认为)正在被htaccess文件重写

我有一个htaccess文件设置为direct,如下所示:

Options +FollowSymLinks
RewriteEngine on
RewriteCond  %{REQUEST_FILENAME} !-f
RewriteCond  %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z]*)/?([a-zA-Z]*)?/?([a-zA-Z0-9]*)?/?$ index.php?controller=$1&action=$2&id=$3 [NC,L]
<link rel='stylesheet' type='text/css' href="wuxia-blue.css">
它采用类似localhost/framework/booking/dashboard的URL,并重写为localhost/framework/index.php?controller=booking&action=dashboard

我的本地www文件夹中的相关文件结构如下所示:

框架
-index.php
-htaccess
-视图
-预订
-dashboard.php
-武侠蓝.css

dashboard.php中的CSS链接如下所示:

Options +FollowSymLinks
RewriteEngine on
RewriteCond  %{REQUEST_FILENAME} !-f
RewriteCond  %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z]*)/?([a-zA-Z]*)?/?([a-zA-Z0-9]*)?/?$ index.php?controller=$1&action=$2&id=$3 [NC,L]
<link rel='stylesheet' type='text/css' href="wuxia-blue.css">

正在发出的HTTP请求似乎是: /framework/booking/wuxia-blue.css

应该是: /framework/views/booking/wuxia-blue.css

理想情况下,我希望使用类似于

href="<?php echo(CSS . "wuxia-blue.css"); ?>".
href=”“。
其中CSS是应用程序中定义的常量,wuxia-blue.CSS(以及所有其他CSS文件)包含在预定义的样式表文件夹中。显然,这将适用于其他资产,如.js文件和图像


有什么想法吗?

htaccess规则是正确的-问题在于您的文件夹结构

创建相对链接时,它是相对于地址栏中显示的当前URL的-您所在文件的位置不相关

您的视图文件位于/framework/views/booking/dashboard.php,但浏览器只看到url/framework/booking/dashboard。这意味着浏览器将资源的位置解释为/framework/booking/dashboard/wuxia-blue.css


就我个人而言,我建议将所有css和图像保留在/images和/css框架之外。否则,可能需要在框架中添加一些代码来提供图像文件,因为所有图像请求都将通过framework.php文件运行。

尝试添加基本链接,将其更改为href=“/views/booking/wuxia blue.css”Hmmm对您的评论进行轻微更改。我使用了href=“framework/views/booking/wuxia blue.css”。我想在php中使用一些相关的东西,比如调用常量来访问css文件。因此,例如:。所以我想我需要快速编辑这个问题。山姆,谢谢。我稍微修改了一下这个问题。事实上,我同意这种结构是愚蠢的。我沮丧地移动了css文件,试图让它正常工作。因此,让我详细说明一下它应该是什么:有一个与“视图”文件夹处于同一级别的资源文件夹。css文件、js文件等。。。你在里面。php实际上是一个文件夹而不是一个文件,我的url是通过index.php提供的