.htaccess文件中超过4,000个Redirect 301行

Phi*_*lip 3 .htaccess cpanel

我很快就重新设计了我的网站,所有网址都在不断变化.这就是我到目前为止所做的一切http://cricketweb.net/new-design%20htaccess

我所做的一些研究表明,.htaccess文件中的这么多行会使性能降低很多.

我问我的托管服务提供商,他们说:

"您的信息是正确的,将这么多重定向添加到您的.htaccess会显着减慢您的网站的加载时间.不幸的是,将它们添加到Apache conf在cPanel服务器上不是一个好主意.cPanel对conf进行了编辑定期提交文件,可能不适合您的编辑.我建议首先重新评估重写模式.例如,如果domain1.com有文件夹a,b和c,并且您想将访问者发送到domain1.com/a到domain2 .com/a,b和c相同,这可以通过1次重写规则来实现.不幸的是,如果URL的方式不一致,比如你想将访问者发送到domain1.com/a到domain2.com/ asdf和访问domain1.com/b到domain2.com/zxcv的访问者,我们可能需要考虑使用此域的特殊规则编辑您的apache preconf文件,所以请告诉我你是否可以通过合并它们来缩小数字规则."

问题是我看不出如何巩固这些301.

有没有人有任何建议http://cricketweb.net/new-design%20htaccess

Cro*_*ses 5

不可能优化A型 - > B型的关系.

但是当可以找到重复模式时,
A1 - > B,A2 - > B,A9999 - > B
或A1 - > B1,A2 - > B2,A9999 - > B9999
可以真正减少行数.

示例:(超过150行相同类型)

Redirect 301 \cricketgames\commercial\brianlaracricket05\demo100.php http://www.cricketweb.net/game/brian-lara-international-cricket-2005/
Redirect 301 \cricketgames\commercial\brianlaracricket05\demo101.php http://www.cricketweb.net/game/brian-lara-international-cricket-2005/
Redirect 301 \cricketgames\commercial\brianlaracricket05\demo102.php http://www.cricketweb.net/game/brian-lara-international-cricket-2005/
Run Code Online (Sandbox Code Playgroud)

可以简化为:(1行)

RewriteRule ^cricketgames/commercial/brianlaracricket\d+/demo\d+\.php$ http://www.cricketweb.net/game/brian-lara-international-cricket-2005/ [NC,R=301]
Run Code Online (Sandbox Code Playgroud)

其他例子(超过160行):

Redirect 301 \cricketgames\commercial\internationalcricketcaptain2000\screenshot5.php http://www.cricketweb.net/game/international-cricket-captain-2000/
Redirect 301 \cricketgames\commercial\internationalcricketcaptain2006\screenshot13.php http://www.cricketweb.net/game/international-cricket-captain-2006/
Redirect 301 \cricketgames\commercial\internationalcricketcaptain2009\screenshot14.php http://www.cricketweb.net/game/international-cricket-captain-2009/
Run Code Online (Sandbox Code Playgroud)

可以简化为:(1行)

RewriteRule ^cricketgames/commercial/internationalcricketcaptain(20\d\d)/screenshot\d+\.php$ http://www.cricketweb.net/game/international-cricket-captain-$1/ [NC,R=301]
Run Code Online (Sandbox Code Playgroud)

并且您的文件中有相同类型的案例.

然后,您还可以选择将文件拆分为多个部分(重写),以避免测试从URL开头消除的所有行.例如,这可以将测试次数除以20到30,只需要进行中间重写.