Có thể .htaccess làm chậm một trang web?


15

Tôi đang làm việc với một khách hàng trên một trang web thương mại điện tử. Tôi đã triển khai URL sạch bằng cách sử dụng .htaccess. Tôi cũng đã sử dụng .htaccess để giải quyết các vấn đề kinh điển như chuyển hướng www sang không phải www và xóa index.php khỏi URL.

Trang web gần đây đã bắt đầu chậm lại đáng kể, đôi khi thậm chí không tải. Trang web được lưu trữ trên GoDaddy và khi khách hàng gọi GoDaddy, họ nói với anh rằng đó là tệp .htaccess làm chậm trang web. Tôi thấy điều này rất khó xảy ra vì những trải nghiệm trong quá khứ của tôi, nhưng tôi không chắc chắn 100%. Tôi nghĩ rằng trang web của khách hàng rất có thể trên một máy chủ được chia sẻ với một khu phố bận rộn, do đó làm chậm trang web. Nó không phải lúc nào cũng chậm, nhưng khá rời rạc suốt cả ngày, tải nhanh ở một số điểm và chậm ở những thời điểm khác.

Tệp .htaccess có thể làm chậm trang web để thu thập dữ liệu không? Nếu vậy, có cách nào tốt hơn để giải quyết những vấn đề này với các quy tắc viết lại khác nhau và như vậy?

Đây là tệp .htaccess thực tế trông như thế nào:

    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]

Tôi là một người mới .htaccess và regex, vì vậy bất kỳ sai lầm nào cũng chỉ ra.


Bạn có thể tốt hơn với lỗi máy chủ cho cái này. Bạn đã kiểm tra xem trang web đã bị phần mềm độc hại xâm nhập chưa?
toomanyairmiles

4
tương tự như câu hỏi này trên ServerFault: .htaccess có làm chậm máy chủ chuyên dụng của tôi không?
Refineo


nó sẽ, nhưng bạn sẽ khó nhận thấy những thay đổi
Eric Yin

Tại một thời điểm nó quan trọng, ngày nay, thỏa thuận máy chủ của bạn có thể là rác nếu có.
Phòng thí nghiệm Fiasco

Câu trả lời:


8

Tôi đoán về mặt kỹ thuật nó sẽ làm nó chậm lại một chút, vì để tuân theo các quy tắc, máy chủ sẽ phải xử lý chúng trước tiên. Tuy nhiên tôi không nghĩ rằng nó sẽ làm chậm máy chủ để thu thập dữ liệu và có lẽ sẽ không đáng chú ý chút nào.

Tôi sẽ mạo hiểm đoán và nói rằng đó là do lưu trữ được chia sẻ tại GoDaddy. Trước đây tôi đã lưu trữ với họ và đôi khi họ cũng rất chậm. Thực tế là nó nhanh hơn nhiều lần và chậm hơn ở những người khác, cũng cho thấy điều này.


8

Tệp .htaccess có thể làm chậm trang web để thu thập dữ liệu không? Nếu vậy, có cách nào tốt hơn để giải quyết những vấn đề này với các quy tắc viết lại khác nhau và như vậy?

AllowOverride tất cả các tác động của hiệu suất máy chủ vì Apache phải kiểm tra các tệp .htaccess và phân tích các lệnh theo từng yêu cầu - nếu có thể, hãy giữ tất cả các lệnh trong cấu hình Virtualhost cho trang web của bạn hoặc chỉ bật .htaccess cho các thư mục cần chúng.

- Mọi thứ bạn từng muốn biết về Quy tắc Mod_Rewrite nhưng lại ngại hỏi

Bạn có thể sẽ không có quyền truy cập vào cấu hình Virtualhost cho tài khoản lưu trữ được chia sẻ GoDaddy của mình và, có thể có hàng trăm hoặc hàng nghìn trang web khác trên cùng một máy chủ (và bạn đã quan sát thấy rằng hiệu suất dao động ) không chỉ là vấn đề với bạn kịch bản hoặc quy tắc.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.