Apache mod将所有.zip文件从我的根目录重写到另一个域
我有一个网站,在其Apache mod将所有.zip文件从我的根目录重写到另一个域,apache,.htaccess,redirect,mod-rewrite,Apache,.htaccess,Redirect,Mod Rewrite,我有一个网站,在其根目录中包含一些.zip文件,还有一个名为/files/的文件夹,其中包含其他.zip文件 我已将所有这些文件移动到另一台服务器,但我不想断开链接,因此我需要将到达我的根目录和/files/文件夹的.zip文件请求重定向到另一个子域。我可能希望将来在我的服务器上有一个包含.zip文件的不同文件夹,因此我只需要重定向 mydomain.com/*.zip mydomain.com/files/*.zip mydomain.com/*.zip mydomain.com/files
根目录中包含一些.zip
文件,还有一个名为/files/
的文件夹,其中包含其他.zip
文件
我已将所有这些文件移动到另一台服务器,但我不想断开链接,因此我需要将到达我的根目录和/files/
文件夹的.zip
文件请求重定向到另一个子域。我可能希望将来在我的服务器上有一个包含.zip
文件的不同文件夹,因此我只需要重定向
mydomain.com/*.zip
mydomain.com/files/*.zip
mydomain.com/*.zip
mydomain.com/files/*.zip
我为/files/
编写了规则,它运行良好(是的,从该文件夹我现在需要所有类型的文件,仅从根目录.zip
文件):
但是,对于到达我的域的根目录的.zip
文件的所有请求,我也坚持这样做……有什么建议吗?
- 如果您已将所有
zip
文件移动到新域的根目录,请使用
RewriteRule ^.*?/?([^/]+\.zip)$ http://myotherdomain.com/$1 [R=301,NC,L]
- 如果您保持了相同的文件夹结构(即,您希望将
/files/*.zip
移动到newdomain.com/files/*.zip
),请使用
- 将重定向所有内容的当前规则保留在顶部的
/files/
下
RewriteRule ^files/(.*) http://myotherdomain.com/$1 [R=301,NC,L]
然后,当您只想重定向/files/*.zip
时,只需在其前面加一个#
即可将其关闭
[QSA]
不是必需的,因为我们没有在这里触及查询字符串
编辑:
好的,只重定向
mydomain.com/*.zip
mydomain.com/files/*.zip
mydomain.com/*.zip
mydomain.com/files/*.zip
使用以下规则
RewriteRule ^(?:files/)?([^/]+\.zip)$ http://myotherdomain.com/$1 [R=301,NC,L]
您是否已将root中的zip文件以及files文件夹移动到新域的根目录中?或者,您是否保持了相同的文件夹结构?对不起,我忘了指定,您是对的!我将所有文件都移动到了新域上的同一文件夹。我将所有文件移动到了新域的根目录,因此我使用了第一个规则REWRITE rule^.*/?([^/]+\.zip)$[R=301,NC,L]但它不起作用…firstdomain.com/File2.zip变为newdomain.com/2.zip,因此“File”一词被去掉了..啊,它以^.*./?
开头。请注意,在/
之前还有一个额外的?
。请再试一次。这是有效的,我还发现了另一种方法,问题是它也适用于其他文件夹!因此,如果我调用它,它也会重定向到新域,并且我希望它只对根目录中的.zip文件或“files”文件夹中的.zip文件执行重定向。所有其他子文件夹中的所有其他.zip文件都不能重定向…我真的不知道该怎么做。@opoloko,删除了全局.zip
重定向。现在只有/
和/files
中的.zip
文件会被重定向。不要失去希望。这一次它会按照你想要的方式工作。:)谢谢这确实有效…我一直在努力重写,以及如何特别针对请求的url的开始和结束…你有任何链接/指南可以让我了解更多吗?再次感谢,它的作品很漂亮,只有一行!