使用PHP调用文件,保留被调用文件的本地URL
我有两个文件: 1.-root/folder/folder/themes/themeindex.php 及 2.-root/index.php 我想在index.php中包含themeindex.php,这样当您进入根目录时,它将加载主题,而不带您进入或显示根/文件夹/文件夹/主题/路径 我正在努力寻找或想出一种方法来包含themeindex.php文件,但将URL保持在其主题文件夹的本地 意思是我的 我不会把它变成: 我希望这一切都有意义 编辑: 希望对我的理由的解释能帮助更多使用PHP调用文件,保留被调用文件的本地URL,php,url,content-management-system,Php,Url,Content Management System,我有两个文件: 1.-root/folder/folder/themes/themeindex.php 及 2.-root/index.php 我想在index.php中包含themeindex.php,这样当您进入根目录时,它将加载主题,而不带您进入或显示根/文件夹/文件夹/主题/路径 我正在努力寻找或想出一种方法来包含themeindex.php文件,但将URL保持在其主题文件夹的本地 意思是我的 我不会把它变成: 我希望这一切都有意义 编辑: 希望对我的理由的解释能帮助更多 1.-我希望最
1.-我希望最终开发人员能够直观地创建主题 尽可能的。因此,URL尽可能简单直观 2.-我需要在根目录中包含活动主题 目录,因此在根目录打开时自动加载 所以如果你把我的第一个理由和第二个理由结合起来,那么你 可能理解URL保持本地和易于访问的重要性 明白
您可以请求style.php,而不是style.css。您定义的文件使用导入根/文件夹/文件夹/主题/style.css并直接回显。包含主题文件很简单:
include('root/folder/folder/themes/themeindex.php');
另一个问题是特定于HTML的。HTML需要有web路径,而不是文件的绝对路径,以便加载和使用它
您可能能做的最好的事情是:
但这仍然会暴露您的主题目录。你为什么要隐藏那个目录
对评论的答复:
如果您使用上面的代码,让您的开发人员知道如何构建自己的内容目录。您需要做的就是跟踪$active\u theme\u root之类的内容,并将其输出以加载自己的自定义主题。据我所知,您无法设置HTML包含目录,因此HTML需要知道所有所需资产的web路径您可以在代码中提供一个基本标记,并将其指向:css文件所在的文件夹 在root.htaccess文件中,添加下一行:
RewriteEngine On
RewriteRule ^style.css$ /folder/folder/themes/style.css [L]
最好的解决方案可能是让他们对所有主题根/样式表使用一个全局样式表文件夹。然后,他们将链接到相对庄园中的此全局文件夹:
<link rel="stylesheet" type="text/css" href="stylesheets/mytheme/style.css" />
给你看?带你去?你这是什么意思?你100%确定你不明白我的意思吗?我希望最终的开发人员能够尽可能直观地创建主题。因此,URL尽可能简单直观除此之外,我还需要将活动主题包含到根目录中,以便在根目录打开时自动加载。但是如果你把我的第一个理由和第二个理由结合起来,那么你可能会注意到URL保持本地性和易于理解是多么重要。
<link rel="stylesheet" type="text/css" href="stylesheets/mytheme/style.css" />