我尝试用Php中的资源路径解决我的问题。在文件header.php
中,我包含脚本和样式表,但是当require_once('../templates/header.php');
位于login.php
目录中的views
时,我的所有资源都会收到404错误代码,因为所有文件都必须是在views
direcroty的子目录中。我怎么能解决这个问题?
路径:
/var/www/reg/templates/header.php
- 标题的路径
/var/www/reg/views/login.php
- 登录路径
/var/www/reg/js/script.js
- js的路径
/var/www/reg/css/style.css
- css的路径
答案 0 :(得分:1)
根据您的文件结构
在header.php里面
尝试这种方式:
<link href="/reg/css/style.css" rel="stylesheet" />
<script src="/reg/js/script.js" ></script>
我测试过它对我有用。
答案 1 :(得分:0)
这就是我可能会这样做的方式,不确定是否是最佳实践,但与wordpress的工作方式类似,IE
在您的索引文件中(在reg/
目录中或在配置文件中,如果您有):
define('SITEPATH', dirname(__FILE__).'/');
然后你可以要求这样的文件:
require_once(SITEPATH . 'templates/header.php');
然后,当您调用资源文件时,您可以执行类似的操作:
<script src="<?php echo SITEPATH; ?>js/script.js"></script>
但是,imo,后端的东西不应该真的出现在模板文件上,而是因为你的目录与我的出版方式不同。