.htaccess 文件中的大量条目会减慢站点访问速度吗?

Posted

技术标签:

【中文标题】.htaccess 文件中的大量条目会减慢站点访问速度吗?【英文标题】:Will lots of entries in .htaccess file slow site access down? 【发布时间】:2012-03-15 20:17:55 【问题描述】:

我计划使用 (301 .htaccess) 重定向大约 100 个,并且想知道这是否会降低性能或有任何影响,因为文件会变得很重?

.htaccess 中是否有任何类型的条目对性能的影响比其他条目更大?

示例:

重定向 301 /old page.shtml http://www.example.com/newdir/newpage.shtml

【问题讨论】:

如果您展示如何进行重定向可能会有所帮助。 RedirectMatchRewriteRule Dony,您应该在 Q 中提到您在 VPS 上运行,因为这扩展了解决方案选项 :-) 【参考方案1】:

如果可以,您可以将您的 .htaccess 指令移动到 VHost file。

Using the VHost will be faster because apache will not read the .htaccess everytime a page is loaded, the VHost will be executed when apache loads.


(参考:Move .htaccess content into vhost, for performance)

【讨论】:

将 .htaccess 指令移动到 VHost 文件中将如何影响我拥有的其他网站。我的其他网站也会阅读这个 .htaccess 吗? 是的,除非您禁用 mod_rewrite,否则您不应该这样做。每个站点都有自己的 VHost(如果不是通配符),因此您可以在 VHost 中为站点设置规则,并将它们保存在 .htaccess 中以用于其他站点。 是否有一个规则来批量而不是一个一个地做?例如,我仅将带有(.shtml 扩展名)的页面从根目录重定向到子目录( /​​b/page.shtml )。 RewriteRule ^(.*)\.shtml$ /b/$1.shtml [R=301,L] 该规则在重定向时添加了一个额外的 /b/ (example.com/b/b/page.shtml),应该是example.com/b/page.shtml

以上是关于.htaccess 文件中的大量条目会减慢站点访问速度吗?的主要内容,如果未能解决你的问题,请参考以下文章

htaccess 中的访问控制允许来源

子目录中的 CodeIgniter 站点,htaccess 文件可能会干扰主目录中的 htaccess 文件?

.htaccess使用URL中的#item重写站点以进行直接文件访问

apache_conf FD站点安全htaccess条目

使用 apache config 和 htaccess 为开发和生产动态设置配置变量

.htaccess重写安全防护文件访问权限