我的 php 项目有以下结构:
- classes
- model.php
- views
- header.php
- footer.php
- user.php
- resources
- css
- stylesheet.css
- js
- my_javascript.js
- index.php
- controller.php
.htaccess 文件
RewriteEngine On
RewriteRule ^/?resources/(.*)$ resources/$1 [L]
RewriteRule ^([a-zA-Z]+)/?([a-zA-Z0-9/]*)$ index.php?page=$1&query=$2 [L]
头文件.php
<!DOCTYPE html>
<html>
<head>
<!-- Styles -->
<link href="resources/css/stylesheet.css" rel="stylesheet" media="screen">
</head>
<body>
问题,正如许多其他人之前在 stackoverflow 上提到的(但他们的解决方案对我不起作用),是我目前通过 index.php 重定向所有页面,因此甚至我的资源文件,例如 stylesheet.css。
1:当我要求时,mydomain/user
我会用正确的 css ( mydomain/resources/css/stylesheet.css
)加载正确的资源
2:但是当我试图使应用程序成为 RESTful 时,我有一个页面mydomain/user/4
,当我提出这样的请求时,我的 css 突然没有加载。查看它正在寻找的 http 请求 ( mydomain/user/resources/css/stylesheet.css
)
我试图通过包含来解决它$_SERVER['DOCUMENT_ROOT']
。它不起作用,而且似乎不是一个“好”的解决方案。谢谢你的帮助。是的,我是 php 的新手!