使用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.-root/folder/folder/themes/themeindex.php

2.-root/index.php

我想在index.php中包含themeindex.php,这样当您进入根目录时,它将加载主题,而不带您进入或显示根/文件夹/文件夹/主题/路径

我正在努力寻找或想出一种方法来包含themeindex.php文件,但将URL保持在其主题文件夹的本地

意思是我的

我不会把它变成:

我希望这一切都有意义

编辑: 希望对我的理由的解释能帮助更多


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" />