这是我的困境。
我继承了网站上的支持,并负责将其移至新主机。
我遇到的一个问题是,上传文件夹中包含超过93,000个文件。我必须根据文件的日期将这些文件移动到'Year \ Month'目录结构中,同时保持外部链接的活动。
抛开修改数据库信息的复杂性,与各个文件相关的行,以反映新结构,可以创建条件重写语句。
我的意思是,如果请求在该目录中查找文件,特别是在根“上传”文件夹中,则会有一个反映新位置的相应重写规则列表。
有这么多规则会有严重的性能问题吗?
我想我可以进一步简化它,而不是将现有文件放入'年/月'结构中,我可以根据文件的第一个字符将它们放入字母数字结构中,即以符号开头的文件将全部放入'Sorted \ Symbols'文件夹,以1开头的文件将进入'Sorted \ 1'文件夹,依此类推。
答案 0 :(得分:0)
我假设您正在使用Apache
是的,可以使用RewriteCond
有关详细信息,请参阅此处:http://wiki.apache.org/httpd/RewriteCond
如果您对如何设置它是明智的,它不应该对性能产生显着影响。 例如,如果您可以提供的第一个重写条件可以消除所有不会被重写的文件,那么它就不会造成很大的性能损失。
E.g。
RewriteCond %{REQUEST_URI} ^/mydir
仅使用uri以mydir
开头的请求执行重写