是否可以创建条件重写规则

时间:2013-01-08 13:05:22

标签: url-rewriting rewrite

这是我的困境。

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

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

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

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

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

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

1 个答案:

答案 0 :(得分:0)

我假设您正在使用Apache

是的,可以使用RewriteCond

创建条件重写规则

有关详细信息,请参阅此处:http://wiki.apache.org/httpd/RewriteCond

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

E.g。

RewriteCond %{REQUEST_URI} ^/mydir

仅使用uri以mydir

开头的请求执行重写