如何将一个文件夹中的文件子集重定向到另一个文件夹?

马可

我最近接手管理WordPress网站的工作,并做了一些清理工作。我所做的一件事是将一些重要文件重新定位到特定文件夹中,以更好地维护文件修订。我将所有内部链接更新为新路径。

不幸的是,我们的用户为旧位置添加了书签,并且在尝试重新下载文件时得到404。这样做的规模很大,我需要找到一种方法将旧链接指向新链接。

问题:

  1. 旧文件夹仍然包含正在提供给网站其他部分的文件,因此我无法重定向整个文件夹。
  2. 有数百个文件。
  3. 大约有3个文件夹保存着14种不同产品的文件(从>到位置不是唯一的)。

这里有些例子:

旧:

  • /wp-content/uploads/2016/08/HR59-KFD.dwg
  • /wp-content/uploads/2016/08/HR59-KFD.dwg
  • /wp-content/uploads/2016/08/HR59-AFD.step
  • /wp-content/uploads/2019/01/LAAB.igs
  • /wp-content/uploads/2019/01/LABB.sldprt
  • /wp-content/uploads/2019/01/MACB.x_t
  • /wp-content/uploads/2019/01/MACB.dxf

新:

  • /uploads/3Dmodels/Product1/HR59-KFD.dwg
  • /uploads/3Dmodels/Product1/HR59-AFD.step
  • /uploads/3Dmodels/Product2/LAAB.igs
  • /uploads/3Dmodels/Product2/LABB.sldprt
  • /uploads/3Dmodels/Product3/MACB.igs
  • /uploads/3Dmodels/Product3/MACB.dxf

我正在寻找的是:一种查找特定文件夹的子集(基于文件名的开始),并且仅将其重定向/重写到新文件夹的方法。也就是说,关于文件的独特之处是位于1个特定文件夹中时文件名的开头。例如:

示例1:

For files in: /wp-content/uploads/2016/08/
That start with: HR59-
Redirect to: /uploads/3Dmodels/Product1/

范例2:

For files in: /wp-content/uploads/2019/01/
That start with: L-
Redirect to: /uploads/3Dmodels/Product2/

范例3:

For files in: /wp-content/uploads/2019/01/
That start with: M-
Redirect to: /uploads/3Dmodels/Product3/
奥拉夫·迪斯特

您只需使用以下命令检查适当的模式 RewriteRule

RewriteRule ^wp-content/uploads/2016/08/(HR59-[^/]+)$ /uploads/3Dmodels/Product1/$1 [R,L]
RewriteRule ^wp-content/uploads/2019/01/(L-[^/]+)$ /uploads/3Dmodels/Product2/$1 [R,L]
RewriteRule ^wp-content/uploads/2019/01/(M-[^/]+)$ /uploads/3Dmodels/Product3/$1 [R,L]

当一切正常后,您可以将替换R,LR=301,L,但不能在测试时替换

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将文件从文件夹和子文件夹复制到R中的另一个文件夹?

如何将文件移动到vscode中的另一个文件夹?

如何将文件移动到PHP中的另一个文件夹

htaccess将文件请求从特定文件夹重定向到另一个主机名

将documentroot重定向到conf apache或.htccess中的另一个文件夹

将域URL重定向到PHP中另一个域的子文件夹

如何将一个文件夹中的所有文件复制到另一个文件夹并更改扩展名?

Apache Tomcat-将请求从一个文件夹重定向到另一个文件夹?

将任何名称的网页重定向到另一个文件夹中具有相同名称的另一个网页

使用htaccess将文件夹重定向到另一个

将请求从一个文件夹重定向到htaccess中的另一个文件夹

将目录的内容重定向到父文件夹中的另一个目录

如何将文件夹下的请求重定向到另一个?

将Web文件夹目录重定向到另一个htaccess

如何配置Apache重定向到OS中的另一个文件夹

Htaccess将文件夹中的图像重定向到另一个URL

将一个硬盘上的文件夹重定向到另一个硬盘上的文件夹

htaccess重定向(如果文件夹存在),否则重定向到另一个文件夹

htaccess:将子文件夹重定向到另一个子文件夹

htaccess:如何将子文件夹路径重定向到另一个

将桌面文件夹重定向到Windows中的另一个文件夹

通过htaccess将文件夹重定向到另一个域

被屏蔽的重定向到根目录下的另一个文件夹

.htaccess重定向到另一个文件夹

将awk exec结果重定向到另一个文件夹

Apache重定向到另一个文件夹

NodeJS - 如何将一个文件夹复制到另一个文件夹,只覆盖不同的文件?

如何将一个文件夹复制到另一个文件夹

如何将文件夹复制到 Makefile 中的另一个文件夹?