.htaccess可以减慢网站速度吗?


15

我正在与一个电子商务网站上的客户合作。我使用.htaccess实现了干净的URL。我还使用.htaccess解决了典型问题,例如将www重定向到非www以及从URL中删除index.php。

该网站最近开始急剧减速,有时甚至没有加载。该网站托管在GoDaddy上,当客户致电GoDaddy时,他们告诉他这是.htaccess文件,这使网站运行缓慢。由于我过去的经验,我发现这种情况极不可能,但是我不确定100%。我的想法是,客户的网站很可能位于附近繁忙的共享服务器上,从而降低了网站速度。它并不总是很慢,而是一整天都是零星的,在某些时间点加载很快,而在其他时间点加载缓慢。

.htaccess文件可以使网站慢下来进行爬网吗?如果是这样,是否有更好的方法用不同的重写规则来解决这些问题?

实际的.htaccess文件如下所示:

    Options +FollowSymlinks
    RewriteEngine   On
    RewriteBase /
    RewriteCond %{HTTP_HOST} ^www.example.net [NC]
    RewriteRule ^(.*)$ http://example.net/$1 [L,R=301]
    RewriteRule ^products/([0-9a-zA-Z\_\-]*)\.htm([l]?)$ index.php p=product&product_code=$1 [L]
    RewriteRule ^catalog/([0-9a-zA-Z\_\-]*)\.htm([l]?)$ index.php p=catalog&catalog_code=$1 [L]
    RewriteRule ^pages/([0-9a-zA-Z\_\-]*)\.htm([l]?)$   index.php?p=page&page_id=$1 [L]
    RewriteRule ^index\.htm([l]?)$  index.php?p=home [L]
    RewriteRule ^site_map\.htm([l]?)$   index.php?p=site_map [L]
    RewriteCond      %{QUERY_STRING}    ^p=home$
    RewriteRule      (.*)               ?     [R=permanent]

我是.htaccess和regex的新手,因此任何指出的错误也会有所帮助。


您可能会因服务器故障而更好。您是否检查过站点是否已被恶意软件破坏?
toomanyairmiles 2012年

4
类似于ServerFault上的此问题:.htaccess是否会减慢专用服务器的速度?
Refineo'4


它会,但是您几乎不会注意到这些变化
Eric Yin

如今,一次重要的事情是,如果确实如此,那么您的服务器协议可能就是垃圾邮件。
Fiasco Labs

Answers:


8

从技术上讲,我认为它会放慢一点,因为要遵循规则,服务器必须首先对其进行处理。但是,我认为这不会降低服务器的爬网速度,并且可能根本不会引起人们的注意。

我会冒险猜测,说这是由GoDaddy的共享托管引起的。我以前曾与他们一起托管过,发现它们有时也非常慢。有时速度更快,而在其他时间更慢的事实也表明了这一点。


8

.htaccess文件可以使网站慢下来进行爬网吗?如果是这样,是否有更好的方法用不同的重写规则来解决这些问题?

AllowOverride会影响服务器性能,因为Apache必须检查.htaccess文件并根据每个请求分析指令-如果可能,请将所有指令保留在站点的VirtualHost配置中,或者仅对需要它们的目录启用.htaccess覆盖。

- 您曾经想知道的有关Mod_Rewrite规则的所有内容,但害怕问

您可能无法访问GoDaddy共享托管帐户的VirtualHost配置,并且考虑到同一服务器上可能有成百上千的其他站点(并且您观察到性能会波动),这不仅仅是您的问题脚本或规则。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.