01/10/2018, 11:36

Hướng dẫn chỉnh sửa file .htaccess

Các cao nhân có tài liệu về việc chỉnh sửa file .htaccess có thể chia sẻ cho em được không ạ.
Em xin cảm ơn!

Nhân tiện em có chút thắc mắc muốn hỏi luôn:
Em đang dev bên với WordPress, WP có thư mục /wp-content/uploads/ chứa một số media .jpg, .png, .mp4, .pdf, .zip, .txt …

GIờ em muốn khi người dùng chưa login thì chỉ có thể xem .jpg, .png, mp4 chẳng hạn, còn mấy cái kia thì không xem được và sẽ redirect về trang login. Trường hợp người dùng đã login thì có thể truy cập và xem được toàn bộ những định dạng file trên.

Em tham khảo cái này https://wordpress.stackexchange.com/questions/37144/how-to-protect-uploads-if-user-is-not-logged-in
Đã giải quyết được vấn đề là không cho truy cập media khi chưa login, redirect về trang login, login thì xem được toàn bộ.
Còn vấn đề chưa giải quyết được là chưa login thì nó chặn luôn không hiển thị image bài viết các kiểu luôn

Mong các cao nhận giúp đỡ và chia sẻ thêm kinh nghiệm về .htaccess

Tao Không Ngu. viết 13:42 ngày 01/10/2018

Hi NTC.
https://httpd.apache.org/docs/current/howto/htaccess.html

Vô Thin viết 13:38 ngày 01/10/2018

Mình không rành PHP cho lắm nhưng có lẽ ở đây sẽ không dùng .htaccess trong trường hợp các file đó đều nằm chung một thư mục. Lý do: Apache sẽ không hiểu ai là người login ai là người chưa login nếu login thông qua Wordpress mà không dùng đến htpasswd.

Do đó, cách xử lý là không dùng .htaccess mà kiếm hoặc tự viết một Plugins cho WordPress, trong Plugins đó có file .php làm nhiệm vụ kiểm tra login, nếu login rồi thì mò vô thư mục kia load file lên (đơn giản là đọc file vào bộ đệm, trước khi xuất ra thì có dòng header(‘Content-Type: image/png’) , còn chưa login thì chuyển hướng.

NTC viết 13:44 ngày 01/10/2018

Cảm ơn bạn mình đã mò được rồi

NTC viết 13:40 ngày 01/10/2018

sau một hồi vọc vậy thì cũng mò ra
Mọi người tham khảo cho nhận xét được không ạ
Xin cảm ơn

gist.github.com

https://gist.github.com/trongcong/721b48c1bdbbb2c7d7e32fe3f3c4ee35

.htaccess


RewriteCond %{REQUEST_FILENAME} -s
RewriteRule ^wp-content/uploads/(.*)$ dl-file.php?file=$1 [QSA,L]
dl-file.php
<?php
/*
 * Protect uploaded files with login.
 *
 * dl-file.php
 * Block access to all files except images.
 *
 * Add file dl-file.php to root Wordpress
 * Add two line on .htaccess: 	
 *				RewriteCond %{REQUEST_FILENAME} -s
This file has been truncated. show original

Bài liên quan
0