php包含来自其他文件夹的文件(如果不存在)

php包含来自其他文件夹的文件(如果不存在),php,.htaccess,Php,.htaccess,我有不同的文件夹,它们有相同的文件名,通常有相同的内容 是否有一种方法可以包含来自其他文件夹的文件,而不是为具有相同内容的文件夹创建相同的文件 目录结构示例 rome - index.php - detail.php - show.php 另一个文件夹 london - index.php (same content as rome/index.php folder) - detail.php (different content as rome/detail.php fo

我有不同的文件夹,它们有相同的文件名,通常有相同的内容

是否有一种方法可以包含来自其他文件夹的文件,而不是为具有相同内容的文件夹创建相同的文件

目录结构示例

rome
  - index.php
  - detail.php
  - show.php
另一个文件夹

london
  - index.php (same content as rome/index.php folder)
  - detail.php (different content as rome/detail.php folder)
  - show.php (same content as rome/show.php folder)
然后,london文件夹必须只包含detail.php,它的内容与rome/detail.php不同,并且必须从rome文件夹加载“index”和“show”

现在,我创建了一个与此内容具有相同内容的文件

require ../rome/index.php
和工作,但我必须为每个文件夹创建文件,当我在“罗马”文件夹中移动或重命名文件时,我必须为每个文件夹执行相同的操作


服务器是linux,如果可能的话,我还可以在htaccess中使用一个字符串……

最简单的方法是控制所有操作-您可以根据需要组织任意多个操作的公共响应,但有例外情况。FrontController应该是应用程序的核心部分。它是由实现的,这样做可以避免创建和维护许多文件。

尝试使用此根目录。htaccess:

RewriteEngine on

# If the request is not for a valid file
RewriteCond %{REQUEST_FILENAME} !-f
# But not '/rome/'
RewriteCond %{REQUEST_URI} !^/rome/
# Rewrite to '/rome/...' if exist
RewriteCond %{DOCUMENT_ROOT}/rome/$1 -f
RewriteRule ^[^/]+/(.+)$ /rome/$1 [L]

FrontController似乎是一个很好的解决方案,谢谢。。。但现在我不知道我是否必须重写我的原始代码(本例中为rome文件夹)。。。例如,我正在以这种方式编写一个简单的frontcontroller$path=“{$\u服务器['DOCUMENT\u ROOT']}$\u服务器['REQUEST\u URI']}”;如果(!file_exists($path))包括str_replace(“london”、“rome”、$path);我对需要分包的文件有错误…@FireFoxII Hello buddy。你能在新问题中写下全部代码还是编辑这个问题?另外,请添加有关此错误的更多详细信息(回溯)。谢谢,我在这里打开