Apache .htaccess文件是否太大
我们公司正在改变网络平台,我们希望能够保留我们的谷歌搜索结果,因此我们计划将301重定向放入我们的htaccess文件中 我担心的是,如果我加入所有这些重定向(可能总共3000-5000个),它会在服务器进行所有这些检查时减慢服务器的速度Apache .htaccess文件是否太大,apache,.htaccess,Apache,.htaccess,我们公司正在改变网络平台,我们希望能够保留我们的谷歌搜索结果,因此我们计划将301重定向放入我们的htaccess文件中 我担心的是,如果我加入所有这些重定向(可能总共3000-5000个),它会在服务器进行所有这些检查时减慢服务器的速度 有人知道这么大的htaccess文件是否会导致任何问题吗?我有一个相当快的站点服务器(8个内核),所以我有相当大的可用马力。嗯。我没有任何确切的数字来判断Apache是否会因为这么多重定向而出现性能问题,但是我会感到不安,因为有这么大的htaccess文件可以
有人知道这么大的htaccess文件是否会导致任何问题吗?我有一个相当快的站点服务器(8个内核),所以我有相当大的可用马力。嗯。我没有任何确切的数字来判断Apache是否会因为这么多重定向而出现性能问题,但是我会感到不安,因为有这么大的htaccess文件可以在每次请求时解析,不管它是新的还是旧的URL 如果可能的话,我倾向于使用服务器端语言处理“旧”URL与新URL的匹配,并使用数据库表进行查找,如果只是为了便于维护的话 这是否可能以及如何可能取决于旧的URL结构和新的URL结构。例如,如果所有旧URL都有一个公共结构,如
www.domain.com/cms/folder/pagename.htm
这可以从新结构中分离出来,我会将所有“旧”流量重定向到一个中心脚本文件(无论您的服务器平台是什么,ASP、PHP……),并在那里执行简单的查找和头重定向 我怀疑这会明显降低服务器速度。但是先看看
在www/temp文件夹中创建一个.htaccess 5k行文件,并使用一些您将要使用的重写规则。查看使用和不使用.htaccess文件访问页面所需的时间。根据参考文档:我想每次请求处理所有3k x2都需要拖拽
此外,我认为管理这些更改规则很难——手动操作是…其他答案有一些好的建议,但是如果您没有使用其他方法来重写规则,我强烈建议将这些行放在主服务器配置文件中,而不是
.htaccess
文件中。这样一来,Apache在启动时只解析它们一次,并且它可以简单地引用内部数据结构,而不必在每次请求时检查.htaccess
文件。事实上,Apache开发人员建议不要使用.htaccess
文件,除非您没有访问主服务器配置的权限。如果不使用.htaccess
文件,可以设置
AllowOverride None
在主配置中,Apache甚至不必花时间查找文件。在繁忙的服务器上,这可能是一个有用的优化
另一件你可以考虑做的事情(结合上面的内容)是使用<代码> ReWrimeMax < /C>指令“外包”URL重写到外部程序。您可以编写这个外部程序,例如,将旧URL存储在哈希表中,或任何适当的优化方式。
我将尝试一下。当我有一些真实的数据时,我会发布我的经验。你的测试成功了吗?你有真实的数据吗?我发现你可以在没有明显性能差异的情况下重定向301行。然而,一旦你有了几千个,RedirectMatch会让事情变慢。最后,我获取重定向并创建子目录,并将相关的重定向和重定向匹配行放在其中。