Lưu trữ hình ảnh trên subdomain trong WordPress.

Nếu để ý, chắc bạn sẽ thấy tất cả link hình ảnh trên blog WP Căn bản đều có dạng static.wpcanban.com phải không nào? Nhiều độc giả thắc mắc liệu có phải chúng tôi đang sử dụng CDN hay không? Câu trả lời là không nhé. Thực ra, tôi đã chuyển thư mục uploads WordPress lên lưu trữ trên subdomain. Do đó, link của các tập tin được upload (trong đó có cả link hình ảnh) sẽ có dạng subdomain thay vì domain chính. Tác dụng của thủ thuật này là giảm số lượng request trực tiếp đến domain chính, cân bằng tải, làm tăng tốc độ load dữ liệu. Nếu bạn cũng đang muốn làm điều tương tự thì ngay sau đây là hướng dẫn chi tiết.
Tham khảo thêm:
Hướng dẫn lưu trữ hình ảnh trên subdomain
1. Việc đầu tiên các bạn cần làm chính là backup dữ liệu của blog/ website (cả database lẫn mã nguồn). Điều này sẽ giúp bạn nhanh chóng khôi phục blog/ website về trạng thái ban đầu trong trường hợp xảy ra sai sót khi thao tác.
2. Tạo một sudomain cho domain chính, chẳng hạn như img.domain.com.

Một thư mục có tên là img sẽ được tự động tạo ra trong thư mục public_html.
3. Trỏ subdomain này về host, sử dụng IP giống với IP của domain chính.

4. Truy cập vào File Manager của cPanel/ DirectAdmin hoặc FTP, copy (hoặc move) toàn bộ nội dung có trong thư mục uploads (nằm trong đường dẫn wp-content/uploads/) sang thư mục img đã được tạo ở bước 2.
5. Truy cập vào phpMyAdmin, lựa chọn đúng database của blog/ website. Click vào nút Query trên menu ngang.

6. Copy và paste đoạn code sau đây vào khung SQL query on database… và click nút Submit Query.
[sql]UPDATE wp_posts SET post_content = REPLACE(post_content,’http://domain.com/wp-content/uploads’,’http://img.domain.com/’)[/sql]
Lưu ý: đổi domain.com thành domain của bạn. Chẳng hạn như:

7. Lặp lại tương tự bước 6, tuy nhiên, lần này, hãy sử dụng code sau đây:
[sql]UPDATE wp_posts SET guid = REPLACE(guid,’http://domain.com/wp-content/uploads’,’http://img.domain.com/’)[/sql]
Nhớ thay domain.com bằng domain của bạn nhé.
8. Quay trở lại giao diện chính của database, click vào mục Search.

9. Nhập từ path vào khung Words or values to search for (wildcard: “%”). Tick chọn table options trong mục Inside tables.

Click vào nút “Go” để bắt đầu quá trình tìm kiếm. Kết quả sẽ có dạng như hình bên dưới. Hãy click vào nút Browser để xem danh sách đầy đủ.

10. Hãy chú ý vào 2 mục upload_path và upload_url_path trong danh sách kết quả. Click vào nút Edit và chỉnh sửa thông số option_value cho phù hợp với blog/ website của bạn. Xem ví dụ trong hình bên dưới.

11. Mở file .htaccess trong thư mục gốc của WordPress ra, thêm đoạn code sau vào trên cùng và lưu lại.
RedirectMatch 301 ^/wp-content/uploads/(.*)$ http://img.domain.com/$1
Lưu ý: thay domain.com bằng domain của bạn.
Thao tác này sẽ giúp redirect những hình ảnh cũ đã được công cụ tìm kiếm index trước đó sang link mới, tránh bị lỗi 404. Cuối cùng, hãy xóa cache trình duyệt và cache blog/ website (nếu bạn có sử dụng plugin tạo cache) và xem kết quả nhé. Chúc các bạn thành công!
Trên đây là các bước chi tiết giúp lưu trữ hình ảnh trên subdomain. Nếu bạn có bất cứ thắc mắc hay khó khăn nào, xin vui lòng gửi vào khung bình luận bên dưới để được hỗ trợ. Bạn biết phương thức khác đơn giản hơn để lưu trữ hình ảnh trên subdomain? Đừng quên chia sẻ nó với chúng tôi.
Nếu bạn thích bài viết này, hãy subscribe blog của tôi để thường xuyên cập nhật những bài viết hay nhất, mới nhất qua email nhé. Cảm ơn rất nhiều. :)





Nay mình mới biết trang này của Hiếu quá canhme. Tại sao rank của nó cao vậy Hiếu?
Mình vừa mới đổi domain cách đây khoảng 20 ngày nên rank Alexa hơi thấp. :D
Tác dụng nó không được bao nhiêu thì phải :() Em thì thấy nhìn nó đẹp trai hơn thôi ?
KLQ nhưng cái phần lưu ý của thím giống như mấy cái biển báo cấm dẫm lên cỏ ở công viên, cấm đổ rác với cấm nghe điện thoại ở cây xăng quá :3
Đưa nội quy lên để “ghét” đứa nào thì “trảm” đứa đó. Chú mày là một ví dụ. Ahihi. :P
Thím dùng plugin Organize Series tạo serie bao giờ chưa cho em hỏi xíu. Ahihi :v
Chưa. Dùng tags cũng được. Cần gì thêm plugin cho nó rắc rối. :P
Cái này tiện lợi cho người xem hơn xíu ~~! Chán vãi lúa -_-
Jetpack cũng cho phép tạo custom post type đấy. Thử xem có tạo được serie không? :P
cho mình hỏi blog này làm từ nền tảng chi mà đẹp vậy?
WordPress bạn nhé. :)
Cái này xong là ở domain chính upload ảnh là nó cứ lưu trong sub ạ anh Hiếu, thấy mấy blog lớn nó làm mà không biết cứ tưởng nó upload thủ công
Đúng rồi bạn. :)
Xin phép Hiếu huynh chút.
Cũng đã từng viết một bài tương tự thế này trên blog của mình và đã thử một thời gian. Việc làm này có thể làm cho người khác dễ dàng lấy toàn bộ ảnh của bạn bằng cách vào cái địa chỉ subdomain kia và tải file về. Bạn nào chưa biết cách bảo mật có thể đọc bài này của mình: http://vuvanhon.com/thu-thuat/huong-dan-tao-giao-dien-trang-subdomain-chua-media.html
Tạo một file .htaccess với nội dung
Options All -Indexescó phải đơn giản hơn nhiều không? Khi ai đó muốn truy cập trực tiếp vào thư mục của subdomain sẽ bị báo lỗi 403. :PCụ thể là như thế nào Hiểu nhỉ. Hướng dẫn mình chỗ này đi :)
Bạn tạo 1 file .htaccess trong thư mục của subdomain và thêm vào nội dung như bình luận bên trên của mình là được. :P
Hi Hiếu,
Thêm 1 cái chuyển hướng về trang chủ nữa thì ngon nhỉ? :D
Ý bạn là khi ai đó truy cập vào thư mục không được phép thì sẽ tự động chuyển hướng về trang chủ à? :P
Đúng rồi Hiếu :D
Mà cái này chuyển Host chắc không phức tạp nhỉ? Phải cấu hình lại từ đầu mỗi khi chuyển hả? :-s
Cảm thấy lo lắng mỗi lần chuyển Host :D
Chuyển host thì cứ bê toàn bộ dữ liệu cần thiết đi là được. Cụ thể là bê luôn cả cái thư mục chứa hình ảnh qua host mới. Còn lại không cần sửa cấu hình gì hết. :P
Thế mình hỏi bây giờ những hình ảnh mình vẫn giữ ở thư mục Upload mình ko muốn chuyển qua Sub tuy nhiên kế từ bài viết mới trở đi mình muốn sử dụng sub thì sao?
Không thể được nhé. Bạn buộc phải chuyển toàn bộ dữ liệu trong thư mục upload sang subdomain. :P
Vậy sau khi remove thư mục “uploads” sang thư mục “img” rồi. Nếu mình viết bài viết mới thì hình ảnh sẽ lưu vào đâu? nó sẽ lưu vào thư mục “img” mới hay vẫn nằm trong thư mục “uploads”? Nếu nó vẫn lưu trong thư mục “uploads” thì mình lại phải remove về thư mục “img” hay sao?
Các ảnh upload mới sẽ tự động được lưu vào thư mục “img” bạn nhé, không cần phải move gì nữa cả. :P
Oày, vậy là mình chỉ cần tạo thêm Sub là được hả anh, hình ảnh vẫn chung với HOST ?
Theo hướng dẫn này thì hình ảnh lưu chung host với WordPress. Bạn cũng có thể thử lưu khác host bằng cách trỏ subdomain về host khác và copy toàn bộ nội dung của thư mục uploads qua đó. :P
Mình chuyển image sang host khác thì khi upload image mới nó có tự vào host mới ko hay vẫn ở host chung với code vậy Hiếu?
Cái này mình chưa thử nên không rõ. :P
không liên quan mà bác cho e hỏi chút có cái theme chỉnh sửa thấy hài lòng nhất rồi, đem summit thì phát hiện ra là có danh mục ko có author và updated mặc dùng cái đó ko cần, nếu có e cũng cho ẩn đi, giờ làm sao để chèn nó vào đc ạ, đầu bài cuối bài j cũng đc, đằng nào cũng ẩn đi
Bạn dùng theme gì? Mỗi theme lại có một cấu trúc code khác nhau để khai báo post info nên khó mà nói cụ thể được. :P
hay, e đang cần, cơ mà sao e tạo sub domain nó cứ báo lỗi bảo mật
Chắc liên quan đến cái SSL mà bạn đang dùng đấy. Thử cài cả SSL cho subdomain xem sao. :P
Nếu bạn dùng SSL chỉ dành cho Domain thì chắc chắn sẽ bị lỗi thôi :D bác Hiếu nên lưu ý cái này vào bài viết.