10/10/2018, 09:55

Cần giúp về redirect trong file .htaccess !!!

Site tôi là site tìm kiếm sử dụng Friendly urls, ví dụ tìm với từ khóa i love you thì sẽ có link dạng http://demo.com/i-love-you.html, và tôi muốn chặn đi một số từ khóa, vì dụ là từ khóa love, nếu có ai vào link http://demo.com/i-love-you.html thì tự động nó sẽ chuyển sang link http://demo.com/i-you.html, vậy tôi phải làm ntn, xin cảm ơn các bạn !


Xin nói thêm : Nếu người dùng tìm kiếm thì tôi có thể chặn được từ khóa tôi cần, còn nếu vào từ google hay ai giới thiệu link thì chưa lam được.
toannet viết 12:00 ngày 10/10/2018
chua hieu lam ... danh ngoi nghe vay ....
thuyduongcd viết 12:10 ngày 10/10/2018
Yêu cầu này dùng .htaccess là không thích hợp. Bởi vì có thể số từ khóa bạn chặn có thể sẽ rất nhiều, chẳng lẽ mỗi từ khóa lại thêm 1 dòng RewriteCond

Với yêu cầu này bạn nên dùng header() để redirect. Ví dụ người ta gõ vào
Code:
http://demo.com/i-love-you.html
, khi đó bạn sẽ nhận được từ khóa i love you. Tìm trong đó xem có những từ bị cấm không. Nếu có thì delete nó đi để tạo thành link mới
Code:
http://demo.com/i-you.html
. Xong rồi dùng header() để redirect sang cái link mới này.
pro_ga viết 12:00 ngày 10/10/2018
Mình cũng định làm vậy nhưng ko biết hàm tìm kí tự trong chuỗi như thế nào ?
thuyduongcd viết 12:01 ngày 10/10/2018
Code:
$link="i-love-you.html";
$prevent=array("one","two","three","love"); // mảng các từ bị cấm
foreach ($prevent as $value){
  if (stripos($link,$value)!== false){
     $link=str_replace($value,"",$link);  
  }
}
$link=str_replace("--","-",$link); 
header("Location: ".$link);
pro_ga viết 12:03 ngày 10/10/2018
Cảm ơn bạn ! Mình làm được rồi !
Bài liên quan
0