根据基于多个域的Web应用程序上的子域动态加载.htaccess

时间:2016-07-05 12:21:07

标签: regex .htaccess mod-rewrite subdomain

在我自定义构建的PHP Web应用程序中,我有多个指向/root/abc文件夹的域。 IE: domain.com; mobile.domain.com, admin.domain.com等等。

我的CMS设置方式index.php中的/root/abc文件加载了存储在index.php/root/abc/mobile等子目录上的不同/root/abc/admin个文件..取决于子域名。

我在.htacess/root/abc/root/abc/mobile分别对应子域提供了不同的/root/abc/admin个文件。

此时我想缓存来自domain.com和mobile.domain.com的文件,但缓存不适用于admin.domain.com和其他subdomain.domain.com

首先,.htaccess上的/root/abc文件加载,然后加载index.php上的/root/abc文件。在根上加载index.php会加载不同的子文件夹,以及与subdomain.domain.com相对应的其他属性。子域名是动态的,意味着子域名和文件夹目录会发生变化。

1 ..即使我使用HTML元标记来清除缓存它也不起作用。你能解释一下这种行为吗?

2 ..如何根据子域名动态加载.htaccess文件?

1 个答案:

答案 0 :(得分:1)

.htaccess文件适用于其所有子目录中的目录。只有文件系统对此很重要。

  

即使我使用HTML元标记来清除缓存,它也不起作用。

缓存控制的元标记是a joke,真正的HTTP标记无论如何都胜过它们。

避免.htaccess

  

如果您有权访问httpd主服务器配置文件,则应该完全避免使用.htaccess文件。使用.htaccess文件会降低Apache http服务器的速度。您可以包含在.htaccess文件中的任何指令都可以在目录块中更好地设置,因为它具有相同的效果和更好的性能。

- The Apache HTTPD manual

您已在Apache配置中设置了子域。在那里设置缓存控制指令,而不是<VirtualHost>块。