PHP/Htaccess-加载程序有问题
我在根目录中有一个htaccess文件,它将页面的每个请求重定向到一个特定的文件:PHP/Htaccess-加载程序有问题,php,html,include,Php,Html,Include,我在根目录中有一个htaccess文件,它将页面的每个请求重定向到一个特定的文件: RewriteCond %{REQUEST_URI} !^/loader.php(.*)?$ [NC] RewriteRule ^(.*)$ /loader.php?url=$1 [QSA,L] 现在在loader.php中重定向很容易 include($_SERVER['DOCUMENT_ROOT'] . '/' . $_GET['url']); 例如,我只包括URL,admin/in
RewriteCond %{REQUEST_URI} !^/loader.php(.*)?$ [NC]
RewriteRule ^(.*)$ /loader.php?url=$1 [QSA,L]
现在在loader.php中重定向很容易
include($_SERVER['DOCUMENT_ROOT'] . '/' . $_GET['url']);
例如,我只包括URL,admin/index.php
如果我让代码保持原样,加载程序将包含文件并打印正确的HTML,但它不会加载任何CSS或JS脚本。如果我把echo设置为“test”代码>
在include之前,加载程序将加载CSS文件。这件事让我很难受。我必须在HTTP头中指定一些内容吗
我已经尝试将
放在index.php
的标题中,但没有结果,
但另一件奇怪的事情是,如果我使用Chrom检查页面并单击链接,我将看到正确的CSS
更新1
我打印了标题列表()代码>。我注意到一件事——当我在标题列表中打印回音时,一个数组显示内容类型,因此我尝试使用标题()
函数自己添加它,但没有结果。还在努力
更新2
我注意到另一件事;如果我把
标记与一些CSS放在一起,它会工作得很好,但是如果我使用
标记,它不会工作。这没有任何意义。您必须为css和javascript(以及图像等)发送正确的MIME头。
最简单的方法是让apache处理这些请求。将所有CSS、JS和图像放在名为“assets”的文件夹中,然后将htaccess更改为
RewriteCond %{REQUEST_URI} !^/assets/
RewriteCond %{REQUEST_URI} !^/loader.php(.*)?$ [NC]
RewriteRule ^(.*)$ /loader.php?url=$1 [QSA,L]
当你包含CSS或JS时,你能显示页面的输出吗?谢谢!这是一个很好的开始。。。我仍然有一些问题,如果我打开的文件是在一个文件夹内,我会在那里创建资产文件夹把css,js,图像放进去,但奇怪的是只有css不工作。。。。有什么想法吗?我必须为根目录中的每个文件夹设置一些重写条件?我猜你的css还有其他问题。尝试在浏览器中打开css的url,看看是否有错误。