0

这是我的困境。

我继承了对网站的支持,并负责将其移至新主机。

我遇到的一个问题是有一个上传文件夹,其中包含超过 93,000 个文件。我必须根据文件的日期将这些文件移动到“Year\Month”目录结构中,同时保持外部链接有效。

撇开修改数据库信息的复杂性,与单个文件相关的行,以反映新结构,是否可以创建条件重写语句。

我的意思是,如果请求在该目录中查找文件,特别是在根“上传”文件夹中,则会有一个反映新位置的相应重写规则列表。

有这么多规则会导致严重的性能问题吗?

我想我可以进一步简化它,而不是将现有文件放入“年/月”结构中,我可以将它们放入基于文件的第一个字符的字母数字结构中,即以符号开头的文件都将进入“排序\ Symbols 文件夹,以 1 开头的文件将进入 'Sorted\1' 文件夹,依此类推。

4

1 回答 1

0

我假设你正在使用 Apache

是的,可以使用创建条件重写规则RewriteCond

有关更多信息,请参见此处:http ://wiki.apache.org/httpd/RewriteCond

如果您对如何设置它是明智的,它不应该对性能产生显着影响。例如,如果您可以提供的第一个重写条件可以消除所有不会被重写的文件,那么它不应该造成很大的性能损失。

例如

RewriteCond %{REQUEST_URI} ^/mydir

仅对 uri 以 mydir 开头的请求执行重写

于 2013-01-08T13:08:22.807 回答