私はeコマースWebサイトでクライアントと仕事をしています。 .htaccessを使用してクリーンなURLを実装しました。また、.htaccessを使用して、wwwを非wwwにリダイレクトしたり、URLからindex.phpを削除したりといった標準的な問題を解決しました。
このウェブサイトは最近、劇的に遅くなり始め、時には読み込みさえしなくなりました。このサイトはGoDaddyでホストされており、クライアントがGoDaddyを呼び出すと、.htaccessファイルがWebサイトの速度を低下させていると彼に伝えました。私の過去の経験から、これは非常にありそうもないと思いますが、100%確信はありません。私の考えでは、クライアントのWebサイトは、混雑した近所の共有サーバー上にある可能性が高いため、サイトの速度が低下します。常に遅いとは限りませんが、1日を通して散発的に発生し、ある時点では高速にロードされ、他の時点では低速になります。
.htaccessファイルはWebサイトの速度を低下させますか?もしそうなら、異なる書き換えルールなどでこれらの問題を解決するより良い方法はありますか?
実際の.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と正規表現の初心者なので、指摘された間違いも助けになります。
。htaccessファイルはWebサイトの速度を低下させますか?もしそうなら、異なる書き換えルールなどでこれらの問題を解決するより良い方法はありますか?
AllowOverride all Apacheはリクエストごとに.htaccessファイルをチェックし、ディレクティブを解析する必要があるため、サーバーのパフォーマンスに影響を与えます-可能であれば、サイトのVirtualHost構成にすべてのディレクティブを保持するか、ディレクトリに対してのみ.htaccessオーバーライドを有効にしますそれらが必要です。
- Mod_Rewriteルールについて知りたいと思っていたが、尋ねるのが怖かったすべて
GoDaddy共有ホスティングアカウントのVirtualHost構成にアクセスすることはおそらくないでしょうし、おそらく同じサーバー上に他のサイトが数百または数千あることを考えると(そして、パフォーマンスが変動することを観察しました)それは、単にスクリプトやルールの問題ではありません。
技術的には、サーバーがルールを最初に処理しなければならないルールに従うために、速度が少し遅くなると思います。しかし、サーバーのクロールが遅くなるとは思わず、おそらくまったく目立たないでしょう。
私は推測を危険にさらし、GoDaddyの共有ホスティングが原因であると言います。私は以前彼らと一緒にホストしていたが、時には非常に遅いこともわかった。それは時々速く、他では遅くなるという事実は、これも同様に示唆しています。