【问题标题】:mirror directory with apache htaccess使用 apache htaccess 镜像目录
【发布时间】:2012-07-09 22:30:24
【问题描述】:

是否可以使用 apache htaccess 文件镜像目录内容?我正在使用 cpanel 进行虚拟主机,因此没有 root 访问权限,并且希望避免在我的主机帐户上拥有相同文件的两个副本。我想要做的是拥有两个子域,例如:

files.abc.com files.123.com

abc.com 和 123.com 将是不同的 html 网站,但当您访问文件子域时,它们将是相同的。如果您明白我的意思,我希望文件子域显示相同的目录?任何其他关于如何实现这一点的建议将不胜感激。提前致谢。

【问题讨论】:

    标签: apache .htaccess


    【解决方案1】:

    这取决于您如何设置 2 个域和您的主机。在不了解任何详细信息的情况下执行此操作的一种直接方法是使用内部代理将其放在另一个域的 .htaccess 文件中(托管 files.abc.com):

    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^files\.abc\.com$ [NC]
    RewriteRule ^(.*)$ http://files.123.com/$1 [P,L]
    

    在这里,我们在主机中为files.123.com 提供了文件,这意味着我们可以转到http://files.123.com/some/file.txt。但是有了这个规则,你可以去http://files.abc.com/some/file.txt,它会在内部代理到123.com主机。

    如果两个域都指向同一个主机,并且假设您有 123.com 的规则或 cpanel 子域设置:

    RewriteCond %{HTTP_HOST} ^files\.123\.com$ [NC]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ /here-are-where-123.com-files-really-are/$1 [L]
    

    或 cpanel 中的一些等效设置。无论哪种方式,假设files.123.com 的请求由目录/here-are-where-123.com-files-really-are/ 提供服务。您只需要包含一组规则来适应其他文件域并将它们放入文档根目录的 .htaccess 文件中:

    RewriteCond %{HTTP_HOST} ^files\.abc\.com$ [NC]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ /here-are-where-123.com-files-really-are/$1 [L]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-05-07
      • 2014-02-25
      • 2011-06-04
      • 1970-01-01
      • 1970-01-01
      • 2020-09-03
      • 1970-01-01
      相关资源
      最近更新 更多