Learn how to seo tips

Rewrite URL bằng .htaccess

Discussion in 'Htaccess - URL Rewrite' started by SEOTopX, 24/5/12.

  1. SEOTopX

    SEOTopX Administrator Staff Member Admin

    Ví tiền:
    $4.946,33
    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:
    Hay bạn thích địa chỉ dạng này hơn:
    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:
    2. product.php?id=12 —> product/ipod-nano/12.html
    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:
    3. Non www URL —> www URL
    Nếu bạn muốn khi visitor gõ vào trình duyệt quangbaweb.edu.vn thì được chuyển thẳng vào quangbaweb.edu.vn thì cấu hình như sau:
    4. quangbaweb.edu.vn/user.php?username=xyz —> quangbaweb.edu.vn/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ớ
    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ụ 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 ?
    Thế là xong ! Từ nay mọi truy vấn đến
    hoặc :
    đều được redirect vào :
    6. Tạo trang báo lỗi mang màu sắc cá nhân
    - 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à :
    VD: Ta có câu lệnh sau trong .htaccess:
    Khi bị dính lỗi này : Trình duyệt sẽ tự động chuyển bạn đến trang loi.404.html nằm ngang hàng với tệp tin .htaccess

    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 ) 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 :
    [QUOTE]RewriteEngine on
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^http://(www\.)?trangweb\.com/.*$ [NC]
    RewriteRule \.(gif|jpg)$ – [F]
    [/QUOTE]
    Ở đoạn mã trên Pumama sử dụng module Rewrite của máy chủ Apache* bạn chỉ việc thay đổi trangweb.com thành địa chỉ website của mình.
    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:
    [QUOTE]RewriteEngine on
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^http://(www\.)?trangweb\.com/.*$ [NC]
    RewriteRule \.(gif|jpg)$[URL]http://www.trangweb.com/diehotlinker.jpg[/URL] [R*L]
    [/QUOTE]
    Bạn nhớ thay cái link trangweb.com/diehotlinker.jpg thành link IMAGE mà bạn muốn hiển thị khi bị ăn cắp IMAGE.

    [B]8. Thay thế trang index[/B]
    -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.
    [QUOTE]DirectoryIndex index.php index .php3 messagebrd.pl index.html index.htm[/QUOTE]
    Với dòng lệnh này thì tất cả các tập tin được liệt kê sẽ được tìm theo thứ tự khi có yêu cầu tới thư mục hiện hành* trang nào được tìm thấy đầu tiên sẽ thành trang index của thư mục.

    [B]9. Cấm/hạn chế IP truy nhập(rất hay)[/B]
    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 :
    [QUOTE]order deny*allow
    deny from all
    allow from IP
    allow from 203.162.*
    [/QUOTE]
    Với deny là cấm – allow là cho phép – order deny*allow phải có
    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 :
    [QUOTE]order allow*deny
    allow from all
    deny from IP
    deny from 203.162.*
    [/QUOTE]
    Với deny là cấm – allow là cho phép – order deny*allow phải có
    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)

    [B]10. 301 redirect[/B]
    -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:
    [QUOTE][URL="http://www.quangbaweb.edu.vn"]www.quangbaweb.edu.vn[/URL] và quangbaweb.edu.vn[/QUOTE]
    Sử dụng cả 2 kiểu địa chỉ sẽ làm giảm traffic của site bạn nên Pumama lựa chọn cách sau để tối ưu hóa link nhằm thân thiện hơn với các hệ thống quảng cáo.

    Bạn thêm code sau vào .htaccess :
    [QUOTE]RewriteEngine On
    RewriteCond %{HTTP_HOST} !^\.QuangBaWeb\.com$[NC]
    RewriteRule ^(.*)$ [URL]http://www.quangbaweb.edu.vn[/URL] [R=301*L]
    [/QUOTE]- Bạn phải thay quangbaweb.edu.vn bằng địa chỉ của bạn. Các câu lệnh trên sẽ chuyển tất cả các địa chỉ quangbaweb.edu.vn thành [URL="http://www.quangbaweb.edu.vn"]www.quangbaweb.edu.vn[/URL]

    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ư:
    [QUOTE][URL]http://abc.com/Music/#List_Album2,-1,1[/URL]
    [URL]http://abc.com/Products/#IPhone|3GS|32G[/URL][/QUOTE]

    [RIGHT]Nguồn : admin - quangbaweb.edu.vn[/RIGHT]

    [B]Lưu ý[/B]: hầu hết thủ thuật này dùng với hosting linux nhé các bác!
    luongnguyen likes this.
  2. quocvuongit

    quocvuongit SEO như hạch Staff Member Admin

    Ví tiền:
    $14.275,55
    Hihi, cái này tham khảo thôi, chứ chơi bằng PHP, mình toàn ASP...Nhưng cấu trúc & ý chính thì đều giống nhau, thanks liền!
  3. nguyennt0588

    nguyennt0588 Banned

    Ví tiền:
    $151,11
    mình đang sử dụng tất các thủ thuật trên ...
  4. caesar

    caesar Level 1

    Ví tiền:
    $420,00
    thanks alot.
    mình đang cần để www và non-www :D
  5. hoaitx

    hoaitx Level 0

    Ví tiền:
    $365,00
    Mình đang dùng joomla 2.5.x và cũng đang muốn chuyển hướng trang lỗi sang một trang chỉ định có tên là: chuyentiep.html, mình viết câu lệnh như sau
    Code:
    ErrorDocument 404 /http://thongtin247.vn/chuyentiep.html
    Nhưng hình nhu mình đã sai ở đâu đó, nó không chuyển sau khi mình viết câu lệnh như trên về trang http://thongtin247.vn/chuyentiep.html mà lại chuyển về trang lỗi 404 mặc định
    Xin hỏi phải làm cách nào để sửa.
    Cảm ơn nhiều:th_109:
  6. SEOTopX

    SEOTopX Administrator Staff Member Admin

    Ví tiền:
    $4.946,33
    Bạn thử nhé :
    Code:
    ErrorDocument 404 /chuyentiep.html
  7. hoaitx

    hoaitx Level 0

    Ví tiền:
    $365,00
    Vẫn không đc bác ơi, không hiểu nó như thế nào nữa, site tui bị nhiều 404 quá, muốn edit nó mà dùng lệnh trên hem có đc...
  8. npthanh1910

    npthanh1910 Nguyễn Phương Thành Staff Member S.Mod

    Ví tiền:
    $14.215,54
    :) nếu biết trang nào lỗi thì bác dùng google webmaster tool add vào thôi. cũng gọi là làm giảm bớt được, ít nhất là với những web nhỏ.
    Nhưng về lâu dài chúng ta vẫn nên tối ưu hóa trang 404.

    --------------
    Nhân đây cho em hỏi web làm bằng ASP.net thì tối ưu hóa trang lỗi thế nào nhỉ các bác? :th_38:
  9. Maria.Olala

    Maria.Olala Moderator Mod

    Ví tiền:
    $5.994,00
    Bài viết rất hay, rất hữu ích :th_10:
  10. hoaitx

    hoaitx Level 0

    Ví tiền:
    $365,00
    Bác nào chỉ tôi cách tối ưu trang 404 với, tôi đang rất cần...
  11. thegioiraovatvn.com

    thegioiraovatvn.com Level 0

    Ví tiền:
    $258,00
    Cho mình hỏi nếu mình muốn chuyển hướng tất cả domain www.thegioiraovatvn.com thành thegioiraovatvn.com thì có phải là làm như vậy không nhé
    RewriteEngine On
    RewriteCond %{HTTP_HOST} !^\.www.thegioiraovatvn\.com$[NC]
    RewriteRule ^(.*)$ http://thegioiraovatvn.com [R=301*L]

    hay là làm như nào khác ạ? mình đang muốn chuyển tất cả www.thegioiraovatvn.com thành thegioiraovatvn.com
    Giúp mình cái nhé
  12. SEOTopX

    SEOTopX Administrator Staff Member Admin

    Ví tiền:
    $4.946,33
    Thay site của bạn vô nhé ;)
  13. thegioiraovatvn.com

    thegioiraovatvn.com Level 0

    Ví tiền:
    $258,00
    ok. Cám ơn bạn rất nhiều.
    ak site mình đã có file .htaccess rùi. thì giờ mình chỉ cần thêm 2 dòng

    RewriteCond %{HTTP_HOST} ^www.giaiphapkd.com$ [NC]
    RewriteRule ^(.*)$ http://giaiphapkd.com/ [R=301,L]

    là xọng ạ. Hay phải thêm cả 5 dòng

    RewriteEngine On
    #Options +FollowSymLinks
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^www.giaiphapkd.com$ [NC]
    RewriteRule ^(.*)$ http://giaiphapkd.com/ [R=301,L]

    Mình mới học nên chưa biết. Mong bạn giúp đỡ
  14. SEOTopX

    SEOTopX Administrator Staff Member Admin

    Ví tiền:
    $4.946,33
    Copy nguyên đi bác :)
  15. thegioiraovatvn.com

    thegioiraovatvn.com Level 0

    Ví tiền:
    $258,00
    ok để mình thử? Có gì không được mình hỏi típ nhé. Cảm ơn bác. Chúc forum càng ngày càng lớn mạnh.:-S
  16. thegioiraovatvn.com

    thegioiraovatvn.com Level 0

    Ví tiền:
    $258,00
  17. cntt16

    cntt16 Level 0

    Ví tiền:
    $316,00
    càng đọc càng thấy mình gà quá đi......làm hoài mới dc :((....Thanks forum
  18. Maria.Olala

    Maria.Olala Moderator Mod

    Ví tiền:
    $5.994,00
    Bác nào có file htaccess tối ưu cho joomla virtuemart thì gửi cho mình với, cảm ơn nhiều
  19. thegioiraovatvn.com

    thegioiraovatvn.com Level 0

    Ví tiền:
    $258,00
    uhn hí mình làm được rùi, cám ơn bác...
  20. saccalo

    saccalo Level 0

    Ví tiền:
    $450,47
    em có một thắc mắc nho nhỏ mong các pro giúp đỡ

    về cấu trúc rewite em đã hiểu , nhưng có vấn để , mong thớt và các pro giúp đỡ ạ :D
    em có link thế này :
    Code:
    http://vnitvietnam.com/services/list/25/Dich-Vu-Dang-Tin-Rao-Vat.html
    em muốn rút gọn nó và thay đổi giống như thế này :
    Code:
    http://vnitvietnam.com/quang-cao/dang-tin/dich-vu/Dich-Vu-Dang-Tin-Rao-Vat.html
    hoặc :
    Code:
    http://vnitvietnam.com/quang-cao/Dich-Vu-Dang-Tin-Rao-Vat.html
    liệu có được không ạ , và code rewite sẽ như thế nào để áp dụng cho nhiều trang
    em cám ơn nhìu :x

Share This Page