Tổng hợp một số lệnh .htaccess hay

Thảo luận trong 'Lập trình web với PHP' bắt đầu bởi babyinternet, 12/8/11.

  1. babyinternet

    babyinternet Administrator

    Tham gia ngày:
    4/7/08
    Bài viết:
    4,655
    Đã được thích:
    1,583
    Điểm thành tích:
    113
    Nơi ở:
    [}{]e[][]
    Sưu tầm linh tinh trên mạng với mục đích phục vụ công việc và chia sẻ với mọi người nha. Nguồn gốc thì không rõ lắm (vì chắc các bác mà mình sưu tầm lại cũng copy từ chỗ khác) :-*

    Ngăn chặn hotlink

    Mã:
    Options +FollowSymlinks
    
    RewriteEngine On
    
    RewriteCond %{HTTP_REFERER} !^$
    
    RewriteCond %{HTTP_REFERER} !^http://(www.)?vnwebmaster.com/ [nc]
    
    RewriteRule .*.(gif|jpg|png)$ http://vnwebmaster.com/img/anh_thay_the.gif[nc]
    
    301 Redirect
    Nếu bạn chuyển domain, hoặc chỉ muốn chuyển một trang cũ về một trang mới và không muốn lo lắng về các kết quả search từ google, sử dụng đoạn mã sau
    Mã:
    
    Redirect 301 /thu_muc/file.html http://www.domainmoi.com/file.html
    
    Chuyển hướng từ tên miền cũ sang tên mới

    Mã:
    RewriteEngine On
    
    RewriteRule ^(.*)$ http://www.domain_moi.com/$1 [R=301,L]
    Tạo các trang báo lỗi

    Mã:
    ErrorDocument 401 /error/401.php
    
    ErrorDocument 403 /error/403.php
    
    ErrorDocument 404 /error/404.php
    
    ErrorDocument 500 /error/500.php
    Cấm IP truy cập

    Mã:
    allow from all
    
    deny from 113.190.183.138
    
    deny from 113.190
    Đặt email mặc định cho server admin

    Mã:
    ServerSignature EMail
    
    SetEnv SERVER_ADMIN default@domain.com
    Bảo vệ file trong thư mục

    Mã:
    order allow,deny
    
    deny from all
    Đặt mã cho thư mục và file

    Mã:
    # Đặt mã cho thư mục
    
    resides
    
    AuthType basic
    
    AuthName "Thư mục này đã được bảo vệ"
    
    AuthUserFile /home/path/.htpasswd
    
    AuthGroupFile /dev/null
    
    Require valid-user
    
    # Đặt mã cho file
    
    AuthType Basic
    
    AuthName "Prompt"
    
    AuthUserFile /home/path/.htpasswd
    
    Require valid-user
    Đặt trang mặc định

    Mã:
    DirectoryIndex about.html
    Nén file bằng cách bật Gzip

    Bằng cách bật Gzip bạn có thể nén file từ server giúp cho việc tải trang nhanh hơn

    Mã:
    AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/CSS application/x-javascript
    
    BrowserMatch ^Mozilla/4 gzip-only-text/html
    
    BrowserMatch ^Mozilla/4.0[678] no-gzip
    
    BrowserMatch bMSIE !no-gzip !gzip-only-text/html
    Bỏ "category" ở URL

    Cái này được áp dụng nhiều khi làm Wordpress đây :smoke:

    Mã:
    RewriteRule ^category/(.+)$ http://www.domain.com/$1 [R=301,L]
    Bỏ phần đuôi file ở URL

    Mã:
    RewriteRule ^(([^/]+/)*[^.]+)$ /$1.php [L]
    Thêm / vào cuối URL

    Một vài bộ máy tìm kiếm (như Yahoo)tự động bỏ dấu / ở cuối url. Website của bạn cũng có thể được truy cập có hoặc không có dấu / ở sau cùng url. Điều này không tốt với các bộ máy tìm kiếm (sẽ bị coi là duplicated content). Thêm đoạn mã dưới đây vào .htaccess để giải quyết vấn đề đó.

    Mã:
    RewriteBase /
    
    RewriteCond %{REQUEST_FILENAME} !-f
    
    RewriteCond %{REQUEST_URI} !#
    
    RewriteCond %{REQUEST_URI} !(.*)/$
    
    RewriteRule ^(.*)$ http://domain.com/$1/ [L,R=301]
    Bỏ www ở URL

    Nếu bạn muốn chuyển mọi truy cập từ http://www.example.com thành http://example.com, thêm đoạn mã sau vào file .htaccess:

    Mã:
    RewriteEngine On
    
    RewriteBase /
    
    RewriteCond %{HTTP_HOST} !^example.com$ [NC]
    
    RewriteRule ^(.*)$ http://example.com/$1 [L,R=301]
    Thêm www vào URL

    Mã:
    RewriteEngine On
    
    RewriteBase /
    
    RewriteCond %{HTTP_HOST} !^www.example.com$ [NC]
    
    RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
    Không cho "browse" thư mục

    Mã:
    Options All -Indexes
    Chống ăn cắp băng thông(badwidth)

    Thông thường những dịch vụ lưu trữ web cung cấp cho một lượng dữ liệu luân chuyển(data transfer) nhất định hàng tháng khi sử dụng hết lượng dữ liệu này, website sẽ tự động bị đóng cửa. Và 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, ... bị các website khác "chôm chỉa"(thường là sử dụng thủ thuật đơn giản) làm cho lượng dữ liệu luân chuyển tăng lên, thì sẽ phải trả thêm tiền cho cái mà mình không sử dụng. Sử dụng tập tin .htaccess là một giải pháp rất tốt! Để ngăn chặn việc sử dụng trái phép hình ảnh trên website. Chỉ cần đưa vào tập tin .htaccess nội dung sau:

    Mã:
    RewriteEngine on
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^http://(www\.)?trangweb\.com/.*$ [NC]
    RewriteRule \.(gif|jpg)$ - [F]

    chỉ cần thay đổi trangweb.com thành địa chỉ website của mình là được.


    Thay thế trang index

    Thông thường khi truy nhập vào một trang web, Apache sẽ tìm đến tập tin index.html hoặc default.html để tra kết quả về cho trình duyệt, có thể sử dụng .htaccess để thay đổi mặc định này:

    Mã:
    DirectoryIndex index.php index .php3 messagebrd.pl index.html index.htm

    với dòng lệnh này thì 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ẽ là trang index của thư mục.

    Tùy biến đuôi tập tin.

    Thông thường tùy thuộc vào ngôn ngữ lập trình web mà sử dụng tập tin có phần mở rộng khác nhau như: html, htm, asp, aspx, php, cgi, ...Tuy nhiên nếu sử dụng .htaccess thì có thể tác động vào máy chủ Apache, Apache sẽ gọi đến tập tin và trả về cho trình duyệt web với phần mở rộng do mình quy định trong .htaccess. Sử dụng đoạn lệnh sau trong tập tin .htaccess:

    Mã:
    RewriteEngine on
    RewriteRule (.*)\.dll$ $1.html

    html là phần mở rộng thực sự của những tập tin trên website, dll là phần mở rộng do mình lựa chọn. Chú ý liên kết trên trang web, phải gọi đúng đường dẫn đến tập tin với phần mở rộng mới(ở trên là dll).
     
  2. babyinternet

    babyinternet Administrator

    Tham gia ngày:
    4/7/08
    Bài viết:
    4,655
    Đã được thích:
    1,583
    Điểm thành tích:
    113
    Nơi ở:
    [}{]e[][]
    Chống người khác sử dụng javascript từ site mình

    Một vài người thích link những đoạn mã javascript từ site mình qua site họ để hạn chế băng thông trên site bên đó hoặc "xài ké" mà không cần thiết lập. Chúng ta có thể ngăn chặn việc "xài ké" này bằng một vài thủ thuật nhỏ dưới đây:

    Mã:
    RewriteEngine On
    RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mysite\.com/ [NC]
    RewriteCond %{HTTP_REFERER} !^$
    RewriteRule .*\. (js|json)$ http://mysite.com/theif.txt
    Đối với file theif.txt bạn bổ sung nội dung sau vào:

    Mã:
    top.location = "http://www.mysite.com/";
    Như vậy, khi họ gọi đoạn javascript từ site bạn, htaccess sẽ kiểm tra referer, nếu không phải được gọi từ chính site của chúng ta nó sẽ redirect đến trang nội dung theif.txt (giống như cách đặt hot link đã nói ở trên). Đồng thời tại theif.txt chúng ta dùng một đoạn javascript nữa để chuyển location về website của chúng ta. Vậy là khi website họ chạy, nó sẽ tự động chuyển sang site ta :love:

    Rất thâm, nhưng cũng rất sướng :))
     
  3. manfish

    manfish Đang làm quen

    Tham gia ngày:
    15/8/11
    Bài viết:
    188
    Đã được thích:
    0
    Điểm thành tích:
    16
    nhờ anh em nào biết chỉ giáo:

    lâu lâu vô diễn đàn thấy nó hiện ra 1 trang: server đang nâng cấp mời bạn quay lại sau....

    theo em hiểu là vô tất cả các trang diều hiện như vậy

    vậy phải chuyển hướng như thế nào vậy mấy huynh
     
  4. vnnsit

    vnnsit Đang làm quen

    Tham gia ngày:
    24/5/11
    Bài viết:
    44
    Đã được thích:
    0
    Điểm thành tích:
    6
    Nơi ở:
    http://www.canmucaosu.com
    xin chào tất cả các bạn ,mình có site, không được đẹp ảnh hưởng đến SEO ,các bạn giúp mình cách làm cho URL thân thiện ,help me.
    canmucaosu.com
     
  5. vvthog

    vvthog Lính mới

    Tham gia ngày:
    31/10/11
    Bài viết:
    6
    Đã được thích:
    0
    Điểm thành tích:
    1
    Thank chủ thớt, cái này có ích hơn việc ngồi ngâm cứu docs hehe
     
  6. livefuz

    livefuz Lính mới

    Tham gia ngày:
    31/5/10
    Bài viết:
    6
    Đã được thích:
    0
    Điểm thành tích:
    1
    Thanks chủ tóp, thấy vài cái hay hay, để thử coi xem thế nào...thanks
     
  7. clbSEO

    clbSEO Đang làm quen

    Tham gia ngày:
    26/12/11
    Bài viết:
    41
    Đã được thích:
    0
    Điểm thành tích:
    6
    Thanks chủ topic. Các câu lệnh rất hữu ích. Phải thử nghiệm vào web ngay mới được
     
  8. harovn

    harovn Đang làm quen

    Tham gia ngày:
    12/8/11
    Bài viết:
    84
    Đã được thích:
    0
    Điểm thành tích:
    6
    Thanks chủ topic !!! Rất hay... Đang thử nghiệm trên site :)
     
  9. duongtmdt

    duongtmdt Lính mới

    Tham gia ngày:
    7/12/12
    Bài viết:
    2
    Đã được thích:
    0
    Điểm thành tích:
    1
    thank bác chủ nhá, rất hay mà chưa thử :)
     
  10. chunhe

    chunhe Đang làm quen

    Tham gia ngày:
    14/12/12
    Bài viết:
    33
    Đã được thích:
    0
    Điểm thành tích:
    6
    Mình đã thử cái chọn file làm mặc định trên trang rao vặt đê hoạt động rốt, cảm ơn bác
     
  11. jeny mai

    jeny mai Lính mới

    Tham gia ngày:
    3/2/13
    Bài viết:
    4
    Đã được thích:
    0
    Điểm thành tích:
    1
    bài này phù hợp có ít cho các bạn chuyên về SEO nè
     
Đang tải...

Chia sẻ trang này