【发布时间】:2016-07-06 14:10:03
【问题描述】:
在我自定义构建的 PHP Web 应用程序中,我有多个域指向 /root/abc 文件夹。 IE: domain.com; mobile.domain.com, admin.domain.com 等等。
我的 CMS 设置 /root/abc 中的 index.php 文件的方式会加载不同的 index.php 文件,这些文件存储在 /root/abc/mobile、/root/abc/admin 等子目录中,具体取决于子域名。
我在/root/abc、/root/abc/mobile 和/root/abc/admin 有不同的.htacess 文件,它们分别对应于子域。
此时我想缓存来自 domain.com 和 mobile.domain.com 的文件,但缓存不适用于 admin.domain.com 和其他 subdomain.domain.com
首先,.htaccess/root/abc 上的文件加载,然后/root/abc 上的index.php 文件也加载。这在根上加载的index.php 加载了不同的文件夹,这些文件夹在子域和其他属性上与subdomain.domain.com 相关。子域名是动态的,意味着子域名和文件夹目录会发生变化。
1.. 即使我使用 HTML 元标记来清除缓存,它也不起作用。你能解释一下这种行为吗?
2..如何根据子域名动态加载.htaccess文件?
【问题讨论】:
-
这里有一个关于HTML元标记和缓存控制的问题,stackoverflow.com/q/1341089/1741542
-
谢谢Olaf,这对元标签很有帮助,不好的是它不适用于旧版IE。
-
如何使用.htaccess itslef根据子域名动态加载.htaccess文件?
-
.htaccess 文件是无条件加载的,仅基于适当的目录。如果要基于域进行配置,则必须使用
If、RewriteCond或 - 更好的是 - 使用虚拟主机配置文件。
标签: regex .htaccess mod-rewrite subdomain