Các đoạn htaccess cần thiết cho website

28/05/2019 | admin | 734

Các đoạn htaccess cần thiết cho website-min

Các đoạn htaccess cần thiết cho website

Chào các bạn! congdongblog lại mang đến cho các bạn điều bổ ích liên quan về website nữa nhé, Dưới đây mình chia sẻ các bạn các doạn htaccess cần thiết cho website mà mình trong quá trình làm việc.

Mình note lại hết dưới đây các bạn chứ nhét thẳng vào file .htaccess nhé .

Lưu ý: Các bạn hãy coppy cho đúng và nhét đúng file đúng thư mục nhé, hãy cẩn thận với file .htaccess này vì nó có thể làm chết trang website của bạn, Dấu hiệu khi nhét sai hay coppy sai là trang website của bạn hiển thị 1 màu trắng toát, đó là do file htaccess của bạn có vấn đề

Cách khắc phục khi bị : Các bạn vào thẳng host hoặc vps nơi mà bạn lưu trữ source code của bạn, bạn vào ngay trong thư mục chính của bạn sẽ có 1 file .htaccess bạn vào đó edit lại nhé.

Còn dưới đây là các đoạn htaccess cần thiết đó bạn hãy tiến hành làm nhé, chúc các bạn thành công :p

  • Sử dụng gzip có thể giúp website bạn được nén lại tới mức nhẹ tối đa nên khách truy cập sẽ tốn ít thời gian tải hơn.

# Start gzip compression 
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
# End Gzip compression
  • khi trình duyệt đã có cache các file đó rồi thì các lần load sau nó không phải mất công tải dữ liệu về nữa nên bạn sẽ truy cập được nhanh hơn.

<IfModule mod_expires.c>
	ExpiresActive On
	ExpiresByType text/css A31536000
	ExpiresByType text/x-component A31536000
	ExpiresByType application/x-javascript A31536000
	ExpiresByType application/javascript A31536000
	ExpiresByType text/javascript A31536000
	ExpiresByType text/x-js A31536000
	ExpiresByType text/html A3600
	ExpiresByType text/richtext A3600
	ExpiresByType image/svg+xml A3600
	ExpiresByType text/plain A3600
	ExpiresByType text/xsd A3600
	ExpiresByType text/xsl A3600
	ExpiresByType text/xml A3600
	ExpiresByType video/asf A31536000
	ExpiresByType video/avi A31536000
	ExpiresByType image/bmp A31536000
	ExpiresByType application/java A31536000
	ExpiresByType video/divx A31536000
	ExpiresByType application/msword A31536000
	ExpiresByType application/vnd.ms-fontobject A31536000
	ExpiresByType application/x-msdownload A31536000
	ExpiresByType image/gif A31536000
	ExpiresByType application/x-gzip A31536000
	ExpiresByType image/x-icon A31536000
	ExpiresByType image/jpeg A31536000
	ExpiresByType image/webp A31536000
	ExpiresByType application/json A31536000
	ExpiresByType application/vnd.ms-access A31536000
	ExpiresByType audio/midi A31536000
	ExpiresByType video/quicktime A31536000
	ExpiresByType audio/mpeg A31536000
	ExpiresByType video/mp4 A31536000
	ExpiresByType video/mpeg A31536000
	ExpiresByType application/vnd.ms-project A31536000
	ExpiresByType application/x-font-otf A31536000
	ExpiresByType application/vnd.ms-opentype A31536000
	ExpiresByType application/vnd.oasis.opendocument.database A31536000
	ExpiresByType application/vnd.oasis.opendocument.chart A31536000
	ExpiresByType application/vnd.oasis.opendocument.formula A31536000
	ExpiresByType application/vnd.oasis.opendocument.graphics A31536000
	ExpiresByType application/vnd.oasis.opendocument.presentation A31536000
	ExpiresByType application/vnd.oasis.opendocument.spreadsheet A31536000
	ExpiresByType application/vnd.oasis.opendocument.text A31536000
	ExpiresByType audio/ogg A31536000
	ExpiresByType application/pdf A31536000
	ExpiresByType image/png A31536000
	ExpiresByType application/vnd.ms-powerpoint A31536000
	ExpiresByType audio/x-realaudio A31536000
	ExpiresByType image/svg+xml A31536000
	ExpiresByType application/x-shockwave-flash A31536000
	ExpiresByType application/x-tar A31536000
	ExpiresByType image/tiff A31536000
	ExpiresByType application/x-font-ttf A31536000
	ExpiresByType application/vnd.ms-opentype A31536000
	ExpiresByType audio/wav A31536000
	ExpiresByType audio/wma A31536000
	ExpiresByType application/vnd.ms-write A31536000
	ExpiresByType application/font-woff A31536000
	ExpiresByType application/font-woff2 A31536000
	ExpiresByType application/vnd.ms-excel A31536000
	ExpiresByType application/zip A31536000
</IfModule>
  • Cải thiện bố nhớ đệm

    ## Cải thiện bố nhớ đệm EXPIRES CACHING  ##
    <IfModule mod_mime.c>
    	AddType text/css .css
    	AddType text/x-component .htc
    	AddType application/x-javascript .js
    	AddType application/javascript .js2
    	AddType text/javascript .js3
    	AddType text/x-js .js4
    	AddType text/html .html .htm
    	AddType text/richtext .rtf .rtx
    	AddType image/svg+xml .svg
    	AddType text/plain .txt
    	AddType text/xsd .xsd
    	AddType text/xsl .xsl
    	AddType text/xml .xml
    	AddType video/asf .asf .asx .wax .wmv .wmx
    	AddType video/avi .avi
    	AddType image/bmp .bmp
    	AddType application/java .class
    	AddType video/divx .divx
    	AddType application/msword .doc .docx
    	AddType application/vnd.ms-fontobject .eot
    	AddType application/x-msdownload .exe
    	AddType image/gif .gif
    	AddType application/x-gzip .gz .gzip
    	AddType image/x-icon .ico
    	AddType image/jpeg .jpg .jpeg .jpe
    	AddType image/webp .webp
    	AddType application/json .json
    	AddType application/vnd.ms-access .mdb
    	AddType audio/midi .mid .midi
    	AddType video/quicktime .mov .qt
    	AddType audio/mpeg .mp3 .m4a
    	AddType video/mp4 .mp4 .m4v
    	AddType video/mpeg .mpeg .mpg .mpe
    	AddType application/vnd.ms-project .mpp
    	AddType application/x-font-otf .otf
    	AddType application/vnd.ms-opentype ._otf
    	AddType application/vnd.oasis.opendocument.database .odb
    	AddType application/vnd.oasis.opendocument.chart .odc
    	AddType application/vnd.oasis.opendocument.formula .odf
    	AddType application/vnd.oasis.opendocument.graphics .odg
    	AddType application/vnd.oasis.opendocument.presentation .odp
    	AddType application/vnd.oasis.opendocument.spreadsheet .ods
    	AddType application/vnd.oasis.opendocument.text .odt
    	AddType audio/ogg .ogg
    	AddType application/pdf .pdf
    	AddType image/png .png
    	AddType application/vnd.ms-powerpoint .pot .pps .ppt .pptx
    	AddType audio/x-realaudio .ra .ram
    	AddType image/svg+xml .svg .svgz
    	AddType application/x-shockwave-flash .swf
    	AddType application/x-tar .tar
    	AddType image/tiff .tif .tiff
    	AddType application/x-font-ttf .ttf .ttc
    	AddType application/vnd.ms-opentype ._ttf
    	AddType audio/wav .wav
    	AddType audio/wma .wma
    	AddType application/vnd.ms-write .wri
    	AddType application/font-woff .woff
    	AddType application/font-woff2 .woff2
    	AddType application/vnd.ms-excel .xla .xls .xlsx .xlt .xlw
    	AddType application/zip .zip
    </IfModule>
  • Tăng tốc thời gian load ảnh với cache

<FilesMatch "(?i)^.*\.(ico|flv|jpg|jpeg|png|gif|js|css|woff)$">
ExpiresActive On
ExpiresDefault A2592000
</FilesMatch>
  • Nén Gzip sẽ làm giảm thiểu tối đa thời gian phản hồi bằng cách giảm dung lượng tải về từ giao thức HTTP.

# BEGIN GZIP
<ifmodule mod_deflate.c>
AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript
</ifmodule>
# END GZIP
  • Browse Caching có nghĩa là nó sẽ tạo ra bản bộ nhớ đệm của một website và lưu nó vào máy, kể từ các lần truy cập sau trình duyệt sẽ mang dữ liệu trong bộ nhớ đệm này ra thực thi mà không cần phải tải lại một lần nào nữa.

# BEGIN Expire headers
<ifModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 5 seconds"
ExpiresByType image/x-icon "access plus 2592000 seconds"
ExpiresByType image/jpeg "access plus 2592000 seconds"
ExpiresByType image/png "access plus 2592000 seconds"
ExpiresByType image/gif "access plus 2592000 seconds"
ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds"
ExpiresByType text/css "access plus 604800 seconds"
ExpiresByType text/javascript "access plus 216000 seconds"
ExpiresByType application/javascript "access plus 216000 seconds"
ExpiresByType application/x-javascript "access plus 216000 seconds"
ExpiresByType text/html "access plus 600 seconds"
ExpiresByType application/xhtml+xml "access plus 600 seconds"
</ifModule>
# END Expire headers
# BEGIN Cache-Control Headers
<ifModule mod_headers.c>
<filesMatch "\.(ico|jpe?g|png|gif|swf)$">
Header set Cache-Control "public"
</filesMatch>
<filesMatch "\.(css)$">
Header set Cache-Control "public"
</filesMatch>
<filesMatch "\.(js)$">
Header set Cache-Control "private"
</filesMatch>
<filesMatch "\.(x?html?|php)$">
Header set Cache-Control "private, must-revalidate"
</filesMatch>
</ifModule>
# END Cache-Control Headers
  • Chống ăn cắp băng thông server

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ - [NC,F,L]

nhớ thay domain của bạn vào nhé ! chổ yourdomain nha.

 

  • đổi img Mã chuyển sang định dạng .Webp

# kích hoạt image webp
<IfModule mod_rewrite.c>
	RewriteEngine On
	RewriteCond %{HTTP_ACCEPT} image/webp
	RewriteCond %{DOCUMENT_ROOT}/$1.webp -f
	RewriteRule ^(wp-content/uploads.+)\.(jpe?g|png)$ $1.webp [T=image/webp,E=accept:1]
</IfModule>
<IfModule mod_headers.c>
	Header append Vary Accept env=REDIRECT_accept
</IfModule>
AddType image/webp .webp
  • Security (bảo vệ server)

 

#Security headers
<IfModule mod_headers.c>
#    Header set Content-Security-Policy "object-src 'none'; base-uri 'self'; frame-ancestors 'self';"
    Header set X-Content-Type-Options nosniff 
    Header set X-XSS-Protection "1; mode=block"
    Header always edit Set-Cookie (.*) "$1; HTTPOnly; Secure"
    Header always append X-Frame-Options SAMEORIGIN
    Header set Strict-Transport-Security "max-age=31536000" env=HTTPS
#hide server info
    Header unset X-Powered-By
    Header unset X-Pingback
    Header unset SERVER
</IfModule>


  • Keep-Alive tăng tốc độ load giảm requests

<ifModule mod_headers.c>
Header set Connection keep-alive
</ifModule>

Keep-Alive là gì thì bạn có thể tìm hiểu qua bài viết này

Keep-Alive là gì ? cách cài đặt và sử dụng

Trên là những đoạn code htaccess cần thiết cho website, các bạn coppy add vào file .htaccess trong source nhé, hoắc trong theme tùy chỉnh. các bạn nếu có thắc mắc tham gia group congdongblog của mình sẽ hỗ trợ hết nhé!

 

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *