基于原始主机名的Apache Rewrite

时间:2019-04-04 19:20:53

标签: apache mod-rewrite

我的网站很大,所以我每小时都要使用Rsync在另一个服务器上镜像它。

www.example.com(主要) www2.example.com(镜像)

但是我需要在www2中直接读取一些大文件(> 500 MB),因为我的第二台服务器具有无限带宽,而主服务器只有1 TB带宽。

我的想法是:

  • 尝试读取“ www2”中的大文件
  • 如果未找到,请重定向到“ www”(确实包含该文件)。

原因:用户试图在每小时rsync之前读取文件。

这有效:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ https://www.example.com/$1 [NC,QSA]

但是,由于已镜像(包括.htaccess),因此如果用户尝试从“ www”中读取已删除的文件(重定向至自身),则会导致循环。

因此,我想创建一个“ if”以仅在源(主机名)为www2.example.com时运行RewriteRule。如果主机名是www.example.com,将返回404。这可能吗?谢谢。

0 个答案:

没有答案