Bạn biết gì về Rewrite URL ? Rewrite URL được hiểu 1 cách đơn giản là viết lại (rewrite) đường dẫn của website (url) của bạn cho đẹp, cho dễ nhớ và thân thiện với công cụ tìm kiếm. Bạn nghĩ sao nếu phải gõ tay hoặc copy dòng địa chỉ này paste vào trình duyệt:http://lamchantoan.blogspot.com/....77&action=edit. Hay bạn thích địa chỉ dạng này hơn: http://lamchantoan.blogspot.com/baiviet/abc.html........
Bài viết dưới đây sẽ hướng dẫn các bạn sử dụng sức mạnh của tập tin .htaccess, qua đó viết lại đường dẫn website của bạn một cách thân thiện (friendly url).
Hai việc cần phải làm ngay bây giờ đó là:
Công việc 1: Mở chức năng mod_rewrite của wampserver lên
Bạn mở file httph.conf tìm đến dòng : #LoadModule rewrite_module modules/mod_rewrite.so, bỏ dấu # đi (sẽ trở thành : LoadModule rewrite_module modules/mod_rewrite.so)
Công việc 2: tạo 1 file có tên là .htaccess trong thư mục gốc của bạn
Bây giờ đến phần hấp dẫn đây, tùy theo nhu cầu viết lại đường dẫn, mà nội dung của file .htaccess sẽ có nội dung lần lượt như sau:
1. product.php?id=12 —> product-12.html
Đây là một ví dụ cực kỳ cơ bản của rewrite url, thường dùng để che dấu đuôi PHP:
RewriteRule ^product-([0-9]+).html$ product.php?id=$1
Một SEOer chuyên nghiệp luôn biết khéo léo hiển thị từ khoá chính trên URL. Như trong ví dụ sau, URL hiển thị tên của sản phẩm chính:
RewriteRule ^product/([a-zA-Z0-9_-]+)/([0-9]+).html$ product.php?id=$2
Nếu bạn muốn khi visitor gõ vào trình duyệt trangweb.com thì được chuyển thẳng vào www.trangweb.com thì cấu hình như sau:
RewriteCond %{HTTP_HOST} ^mmzoom.net$
RewriteRule (.*) http://trangweb.com/$1 [R=301,L]
Nếu website của bạn có một lượng lớn thành viên (như mạng xã hội, diễn đàn), đây là một cách rất hay để rút gọn liên kết cho thành viên dễ nhớ
RewriteRule ^([a-zA-Z0-9_-]+)$ user.php?username=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$ user.php?username=$1
Trong quá trình phát triển website, luôn luôn có sự thay đổi (về mã nguồn, cơ sở dữ liệu, cấu trúc site,…). Ví dụ quangbaweb.edu.vn trước giờ vẫn chạy ở thư mục gốc (root), giả sử vì một lý do nào đó, Việt Coding cần dùng root cho việc khác và muốn chuyển webblog hiện tại vào thư mục /blog/ thì sao ?
RewriteCond %{HTTP_HOST} ^trangweb.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.trangweb.com$
RewriteCond %{REQUEST_URI} !^/blog/ RewriteRule (.*) /blog/$1
đều được redirect vào :
- Trong quá trình làm việc với client* nếu có lỗi xảy ra (ví dụ như không tìm thấy tập tin) thì Apache sẽ báo lỗi bằng một trang có sẵn hiển thị mã số của lỗi đó* rất không đẹp và khó hiểu.
- Với .haccess thì bạn có thể tự tạo các trang báo lỗi hay hơn. Để làm được điều này thì trong tập tin .htaccess bạn thêm dòng sau:
Trong đó ErrorDocument là Câu lệnh của tệp tin ( ko được thay đổi) mã số lỗi là một số tự nhiên : trangloi.html là trang web mà bạn muốn hiển thị khi lỗi phát sinh* có thể đưa vào tập tin này nội dung hay đồ hoạ gì tùy bạn* chẳng hạn liên kết trở về trang chính của trang web
Các mã số lỗi hay gặp là :
400 – Bad request (Lỗi do yêu cầu)
403 – Forbidden (không được vào)
500 – Internal Server Error (lỗi server)
404 – Wrong page (lỗi trang* không tìm thấy…)
7. Chống ăn cắp băng thông (bandwidth)
-Thông thường những dịch vụ lưu trữ web chỉ cung cấp cho bạn một lượng BW nhất định hàng tháng và khi bạn sử dụng hết lượng dữ liệu này* website của bạn sẽ tự động bị đóng cửa. Bạn sẽ phải trả thêm tiền cho lượng băng thông vượt quá hoặc phải buộc lòng chờ đến tháng sau.
-Nếu hình ảnh* dữ liệu* … của bạn bị các website khác “ăn trộm” (bằng các thủ thuật đơn giản vd:cặp tag [IMG]) làm cho lượng BW của bạn tăng lên* thì có nghĩa là bạn sẽ phải trả tiền cho cái mà bạn không sử dụng. Sử dụng tập tin .htaccess là một giải pháp hoàn hảo* để ngăn chặn việc sử dụng hình ảnh trái phép trên website của bạn. Bạn chỉ việc đưa vào tập tin .htaccess nội dung sau :
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?trangweb\.com/.*$ [NC]
RewriteRule \.(gif|jpg)$ – [F]
Thế là ai link đến trang của bạn tùy thích* nhưng mà link đến các ảnh sẽ bị lỗi nặng nề.
Hoặc Có thể sử dụng một hình ảnh nào đó cảnh cáo những kẻ “ăn trộm” BW* bạn dùng dòng lệnh sau:
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?trangweb\.com/.*$ [NC]
RewriteRule \.(gif|jpg)$http://www.trangweb.com/diehotlinker.jpg [R*L]
8. Thay thế trang index
-Thông thường khi truy nhập vào một trang web* Apache sẽ tìm tập tin index.htm hoặc default.htm trả kết quả về cho trình duyệt* bạn có thể dùng .htaccess thay đổi mặc định này.
9. Cấm/hạn chế IP truy nhập(rất hay)
Bạn phát hiện ra có một số người phá trang web bạn hay thực hiện những hành vi ko chính đáng làm tổn hại đến trang web của bạn (vd điển hình là bấm nhìu lần vô quảng cáo Google ).Bạn muốn ngăn cấm ko cho người đó típ tục phá phách? .Dòng lệnh sau trong tập tin .htaccess sẽ giúp bạn một cách triệt để và hiệu quả .
+ Chỉ cho phép một số IP truy cập :
deny from all
allow from IP
allow from 203.162.*
Bạn có thể để Ip dạng 203.162.*(có thể thay đổi tùy bạn) – việc này sẽ cho phép các Ip bắt đầu bằng 203.162
+ Cấm một số ip truy cập :
allow from all
deny from IP
deny from 203.162.*
Bạn có thể để Ip dạng 203.162.*(có thể thay đổi tùy bạn) – việc này sẽ cấm các Ip bắt đầu bằng 203.162
P/S: 2 đoạn code trên rất hữu dụng với các WebMaster trong việc bảo mật. Nó sẽ ngăn ko cho các IP ko hợp lệ vô trang Admin(bạn phải đặt .htaccess trong file ADMIN thì mới có tác dụng)
10. 301 redirect
-Cách này sẽ giúp cho các WebMaster mong muốn kiếm tiền từ quảng cáo(nhất là GA) nó sẽ bắt người dùng sử dụng một tên miền nhất định do bạn chọn (một domain sẽ có 2 kiểu địa chỉ
Vd:
Bạn thêm code sau vào .htaccess :
RewriteCond %{HTTP_HOST} !^\trangweb\com$[NC]
RewriteRule ^(.*)$ http://www.trangweb.comt [R=301*L]
Tất nhiên, URL rewriting rất đa dạng và phong phú, tuỳ sự sáng tạo của từng webmaster mà sẽ cho ra những url độc đáo không đụng hàng, ví dụ như:
0 nhận xét:
Đăng nhận xét