5 ví dụ về Rewrite URL dùng htaccess thông dụng
Xin chào các bạn, nhất là những bạn đã đang và sẽ là một webmaster, 5 ví dụ về Rewrite URL dùng htaccess thông dụng
Bạn là một WM ắt hẳn phải chú trọng đến việc quảng bá website để thu hút traffic. Có rất nhiều yếu tố để đạt được yêu cầu đó mà trong khuôn khổ bài viết hạn hẹp này Việt Coding không thể nói hết. Việt Coding chỉ nói đến việc “viết lại” (rewrite) đường dẫn web (url) của bạn cho đẹp, cho dễ nhớ, nói chung là thân thiện. Thân thiện với cả visitor và các search engine. 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 :
/index.php?option=com_content&view=article&id=25:bai-hc-t-cuc-sng&catid=1:news-tonghop&joscclean=1&comment_id=473#josc473
hay bạn chỉ muốn gõ đơn giản như vầy:
/article/25/bai-hoc-tu-cuoc-song/
Tôi có cần trả lời giùm bạn không nhỉ ? icon biggrin 5 ví dụ về Rewrite URL dùng htaccess thông dụng
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).
Hy vọng bạn chưa quên một bài viết khác của Việt Coding cũng nói về .htaccess : Bảo vệ băng thông webblog của bạn bằng htaccess ?
urllarge 5 ví dụ về Rewrite URL dùng htaccess thông dụng
URL Rewriting – Một kỹ thuật quan trọng giúp cho SEO – (Nguồn : Internet)
Đây là 5 ví dụ thông dụng nhất:
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:
RewriteEngine on RewriteRule ^product-([0-9]+).html$ product.php?id=$1
2. product.php?id=12 —> product/ipod-nano/12.html
Một SEO 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:
RewriteEngine on
RewriteRule ^product/([a-zA-Z0-9_-]+)/([0-9]+).html$ product.php?id=$2
3. Non www URL —> www URL
Nếu bạn muốn khi visitor gõ vào trình duyệt theme4u.biz thì được chuyển thẳng vào www.theme4u.biz thì cấu hình như sau:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^theme4u.biz$
RewriteRule (.*) http://www.theme4u.biz/$1 [R=301,L]
4) theme4u.biz/user.php?username=xyz —> theme4u.biz/xyz
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ớ
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)$ user.php?username=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$ user.php?username=$1
5) Chuyển domain vào cấp thư mục:
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ụ theme4u.biz 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 ?
RewriteEngine On
RewriteCond %{HTTP_HOST} ^theme4u.biz$ [OR]
RewriteCond %{HTTP_HOST} ^www.theme4u.biz$
RewriteCond %{REQUEST_URI} !^/blog/
RewriteRule (.*) /blog/$1
Thế là xong ! Từ nay mọi truy vấn đến theme4u.biz hoặc www.theme4u.biz đều được redirect vào theme4u.biz/blog
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ư:
http://abc.com/Music/#List_Album2,-1,1
http://abc.com/Products/#IPhone|3GS|32G
Đều rất đặc trưng phải không nào ? Bạn còn chờ gì nữa ?
Bạn ơi, không có code php nào để ví dụ à??
đây không phải code php mà là một loại code trong file .htacess, file này nằm ở ngoài thư mục gốc của website với tên là .htaccess, nó không có tên mà chỉ có đuôi mở rộng. Nếu trong wordpress thì khi bạn chọn load permalink là “postname” thì file htaccess có nội dung như sau:
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
bạn đưa mấy dòng code trong bài này đưa vào file .htccess và thử sẽ biết ngay, cũng dễ mà
.htaccess bạn cách nào rewrite search url từ “%20” -> “+” ?
có đó bạn, bạn dùng thử cái này xem
RewriteRule ^+(.*)$ %20$1 [L]
chúc bạn thành công
Mình đã đưa vào lại bị lỗi? Mình làm trên opencart? hướng dẫn giúp mình. Cám ơn bạn nhiều
Server error!
The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there was an error in a CGI script.
If you think this is a server error, please contact the webmaster.
Error 500
localhost
01/14/14 23:10:47
Apache/2.2.21 (Win32) mod_ssl/2.2.21 OpenSSL/1.0.0e PHP/5.3.8 mod_perl/2.0.4 Perl/v5.10.1
Bạn có thể trả lời giúp mình không?
file .htaccess của mình bị lỗi quy về 500 sửa ntn vậy ae
File htacces của mình bị lỗi. Nó báo web mình bị lỗi 500 là sao vậy mọi người