繁体   English   中英

使用htaccess将Rewrite_Mod模型和视图复制到子域

[英]Rewrite_Mod models and views to sub-domain using htaccess

好的,所以我有点理解htaccess使用正则表达式以及一系列条件和规则,但是在编写适合我所寻找内容的内容时遇到了麻烦。

我在同一个父文件夹中有两个域,并且希望能够在sub-domain.com上使用domain.com的某些模型和视图,并在两者上都使用codeinighter。 最近,我一直在子域的目录中创建视图,然后使用“ require_once”标记导入模型和视图。”但是,随着项目的进行,我发现不得不单独创建每个文件非常烦人。

有没有一种方法可以使我使用htaccess,因此如果在子域中找不到一个,则子域上的codeignighter会知道在/domain.com/application/models/和/domain.com/application/views/中查找域,同时还保留/index.php/test-> / test映射。

RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA] 
  • 父级(不是实际的目录名,不确定是否重要)
    • domain.com
      • 应用
        • 楷模
        • 意见
    • api.domain.com
      • 应用
        • 楷模
        • 意见

这个.htaccess太复杂了,我无法理解,有关此主题的任何帮助都是有帮助的。 我什至不确定htaccess是否可以告诉php做到这一点,或者甚至有可能。 也许那是问题所在? 谢谢!

使用htaccess,您的选择非常有限。 是的,您可以定义一些路由,是的,您可以尝试在htaccess中定义变量,以后可以使用php进行访问,但这不允许您以所需的方式访问modelsviews ,例如,在2个路径中查找一个文件。

为此,您必须修改codeigniter加载modelsviews 如果您查看system/core/Loader.php ,则会在顶部看到很多变量。 其中一些包含在index.php中定义的常量,这些常量指示路径:

protected $_ci_model_paths = array(APPPATH);

您要么必须“入侵”该文件,要么对其进行扩展并修改相应的变量以包含array('path1', 'path2')以便CI知道在哪里查找。

关于路由,我不确定您如何计划该路由,但可能会变得混乱。

您可能需要研究hmvc方法 也许您不想使用hmvc,但是它们修改加载路径的方式对您很有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM