1

我有一个网站,其中包含一些.zip文件root,以及一个名为/files/包含其他.zip文件的文件夹。

我将所有这些文件移动到另一台服务器,但我不想破坏我的链接,所以我需要将.zip到达我root和我的/files/文件夹的文件请求重定向到另一个子域。我可能希望将来在我的服务器上有一个包含.zip文件的不同文件夹,所以我只需要重定向

mydomain.com/*.zip
mydomain.com/files/*.zip

我为它编写了规则/files/并且它运行良好(是的,从那个文件夹中我现在需要所有类型的文件,仅来自根.zip文件):

RewriteRule ^files/(.*) http://myotherdomain.com/$1 [QSA,R=301]

但是我坚持对所有.zip到达root我的域的文件的请求都做同样的事情......有什么建议吗?

4

1 回答 1

3
  • 如果您已将所有zip文件移至新域的根目录,请使用

    RewriteRule ^.*?/?([^/]+\.zip)$ http://myotherdomain.com/$1 [R=301,NC,L]
    
  • 如果您保持相同的文件夹结构(即您想要移动/files/*.zipnewdomain.com/files/*.zip),请使用

    RewriteRule ^(.+\.zip)$ http://myotherdomain.com/$1 [R=301,NC,L]
    
  • 保持当前将所有内容重定向/files/到顶部的规则。

    RewriteRule ^files/(.*) http://myotherdomain.com/$1 [R=301,NC,L]
    

    然后,当您只想重定向简单时,请在其前面/files/*.zip加上 a 将其关闭。#

[QSA]不是必需的,因为我们还没有触及这里的查询字符串。

编辑

好的,仅重定向

mydomain.com/*.zip
mydomain.com/files/*.zip

使用以下规则

RewriteRule ^(?:files/)?([^/]+\.zip)$ http://myotherdomain.com/$1 [R=301,NC,L]
于 2013-08-22T23:43:20.620 回答