该网站最近开始显着减速,有时甚至没有加载。该网站托管在GoDaddy上,当客户致电GoDaddy时,他们告诉他这是.htaccess文件,这使网站运行缓慢。由于我过去的经历,我发现这种情况不太可能发生,但我不确定100%。我的想法是,客户的网站很可能位于附近繁忙的共享服务器上,从而降低了网站速度。它并不总是很慢,而是一整天都是零星的,在某些时间点加载速度快,而在其他时间点加载速度慢。
.htaccess文件能否使网站慢下来以便爬行?如果是这样,是否有更好的方法用不同的重写规则来解决这些问题?
这是实际的.htaccess文件的样子:
Options +FollowSymlinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.example.net [NC]
RewriteRule ^(.*)$ http://example.net/ [L,R=301]
RewriteRule ^products/([0-9a-zA-Z\_\-]*)\.htm([l]?)$ index.php p=product&product_code= [L]
RewriteRule ^catalog/([0-9a-zA-Z\_\-]*)\.htm([l]?)$ index.php p=catalog&catalog_code= [L]
RewriteRule ^pages/([0-9a-zA-Z\_\-]*)\.htm([l]?)$ index.php?p=page&page_id= [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的新手,因此任何指出的错误也会有所帮助。
#1 楼
从技术上讲,我认为它会放慢速度,因为要遵循规则,服务器必须首先对其进行处理。但是,我认为这不会降低服务器的爬网速度,也可能根本不会引起人们的注意。我冒昧地猜测,说这是由GoDaddy的共享托管引起的。我以前曾与他们一起托管过,发现它们有时也非常慢。有时速度更快,而在其他时间更慢的事实也表明了这一点。
#2 楼
.htaccess文件可以使网站慢下来进行爬网吗?如果是这样,是否有更好的方法使用不同的重写规则来解决这些问题?AllowOverride会影响服务器性能,因为Apache必须检查
.htaccess文件和parse指令。对于每个请求-如果可能,将所有指令保留在VirtualHost配置中以用于您的站点,或者仅对需要它们的目录启用.htaccess覆盖。
-
您想了解的有关Mod_Rewrite规则的所有信息,但害怕询问
您可能将无权访问GoDaddy共享托管帐户的VirtualHost配置,并且同一服务器上可能有成百上千的其他站点(并且您观察到性能会波动),这不仅是脚本或规则的问题。
评论
您可能会因服务器故障而更好。您是否检查过站点是否已被恶意软件破坏?类似于ServerFault上的此问题:.htaccess是否会减慢我专用的服务器的速度?
或对StackOverflow:使用Mod-Rewrite时是否有负面影响?
会,但是您几乎不会注意到这些变化
如今,一次重要的事情是,如果您的服务器协议确实如此,那么它就是垃圾邮件。