压缩.htaccess文件

时间:2012-01-25 23:59:37

标签: .htaccess compression minify

我有一个包含超过3,000行的htaccess文件,主要归功于我从旧电子商务网站设置的301重定向。该文件大小为323kb,我担心它会成为加载时间和转换的负担。

有没有什么可以压缩(缩小?)文件到更小的尺寸或有人提供更好的想法来处理301重定向?

3 个答案:

答案 0 :(得分:1)

如果重定向是简单重定向,即url1url2,没有正则表达式等,并且您可以访问httpd.conf,那么您可以使用RewriteMap进行所有重定向您的.htaccess中可能只有一条规则来处理这些规则。

来自RewriteMap文档

  

查找的密钥由httpd缓存,直到mapfile的mtime(修改时间)发生更改,或重新启动httpd服务器。这可以确保在许多请求调用的地图上获得更好的性能。

答案 1 :(得分:1)

您是否可以指定一些正则表达式来分组/匹配所有这些重定向?然后,这提供了两个选项:

  • 第一种是使用RewriteRule标志使用(希望更小)[R=301]个语句。
  • 第二种方法是将此重定向移动到重定向器脚本中,您可以使用PHP逻辑将旧电子商务URI解码为其当前格式,然后发出带有和301/302状态的响应和位置:指向当前的URI。这还需要您对此重定向器脚本执行遗留电子商务URI的全部重写,例如。

    RewriteRule ^(product/.*) rewriter.php?uri=$1  [QSA,L]
    

如果没有一些例子,我无法给出更具体的答复。遗憾。

答案 2 :(得分:1)

之前我遇到过其中一些案例,大部分时间都可以用RewriteRules替换重定向语句。例如,如果您的网址来自:

http://shop.example.com/shop/category/product-id.html

对此:

http://shop.example.com/category/product-id.html

你可以通过这样的重写来获取它:

RewriteRule ^/shop/([a-z]+)/([0-9]+)\.html$ /$1/$2.html [L, R=301]

这仍然会导致301重定向,因此抓取工具仍然会知道这是永久移动。