Bạn ghé thăm diễn đàn lần đầu? hãy đăng ký ngay bây giờ để tham gia.
  • Đăng nhập:

Chào mừng bạn đến với ITVNN FORUM - Diễn đàn công nghệ thông tin.

Nếu đây là lần đầu tiên bạn tham gia diễn đàn, xin mời bạn xem phần Hỏi/Ðáp để biết cách dùng diễn đàn. Để có thể tham gia thảo luận bạn phải đăng ký làm thành viên, click vào đây để đăng ký.


  • Partner Area
    • ITVNN HOSTING - Thiết kế website, Cung cấp Domain, Hosting, VPS Việt Nam Anh Hùng - Thông tin truyền thông
kết quả từ 1 tới 1 trên 1
Tăng kích thước phông chữ Giảm kích thước phông chữ
  1. #1
    vnozon's Avatar

    Trạng thái
    Offline
    Tham gia ngày
    Jan 2010
    Thành viên thứ
    8744
    Tuổi
    36
    Giới tính
    Bài gởi
    2
    Level: 17 [?]
    Experience: 10,451
    Next Level: 13,278
    Cảm ơn 0
    Cảm ơn 1 lần / 1 Bài viết

    Default Hướng dẫn sử dụng .htaccess trong PHP  

    Chào các bạn!Mình hướng dẫn các bạn sử dụng .htaccess tạo đường dẫn rất đẹp kiểu .html mà mình đã áp dụng vào trang http://vanphongdaidien.net
    Bất cứ khi nào bạn sử dụng mod_rewrite (các phần của Apache mà hiện tất cả ma thuật này), bạn cần phải làm ..
    bạn chỉ cần làm điều này một lần mỗi. tập tin htaccess:
    Tùy chn + FollowSymlinks
    RewriteEngine on

    .. trước khi bất kỳ quy tắc Rewrite. lưu ý: + FollowSymLinks phải được kích hoạt cho bất cứ quy tắc để làm việc, đây là một yêu cầu bảo mật của viết lại động cơ. Bình thường, nó cho phép trong gốc và bạn không cần phải thêm nó, nhưng nó không đau để làm như thế, và tôi sẽ chèn nó vào tất cả các ví dụ trên trang này, chỉ trong trường hợp *.

    Dòng kế tiếp chỉ cần chuyển mạch trên động cơ viết lại cho thư mục đó. nếu điều này Chỉ thị là ở bạn chính htaccess., sau đó động cơ Rewrite là lý thuyết kích hoạt cho toàn bộ trang web của bạn, nhưng nó khôn ngoan để luôn luôn gắn dòng trước khi bạn viết bất kỳ Redirections, bất cứ nơi nào.

    * Mặc dù không cao, chủ nhà của bạn có thể có + FollowSymLinks kích hoạt ở cấp độ gốc, nhưng vẫn không cho phép Ngoài ra trong htaccess;. trong trường hợp đó, thêm + FollowSymLinks sẽ phá vỡ thiết lập của bạn (có thể là một lỗi 500), do đó, chỉ cần gỡ bỏ nó, và các quy tắc của bạn nên làm việc tốt.

    Quan trọng: Trong khi một số các chỉ thị trên trang này có thể xuất hiện chia tách vào hai dòng trong trình duyệt của bạn, trong htaccess của bạn. Tập họ phải tồn tại hoàn toàn trên một dòng. Nếu bạn kéo chọn và sao chép các chỉ thị trên trang này, họ chỉ cần dán tốt vào bất kỳ soạn thảo văn bản.


    đơn giản viết lại

    Đơn giản chỉ cần đặt, Apache quét URL của tất cả các yêu cầu gửi đến, kiểm tra cho phù hợp trong tập tin htaccess của chúng tôi. Và viết lại những kết hợp các URL đến bất cứ điều gì chúng tôi chỉ định. một cái gì đó như thế này ..
    tất cả yêu cầu để whatever.htm sẽ được gửi đến whatever.php:
    Tùy chn + FollowSymlinks
    RewriteEngine on
    RewriteRule ^(.*) \ htm $ $ 1.php. [NC]

    Thuận tiện cho bất cứ ai cập nhật một trang web từ htm tĩnh (bạn có thể sử dụng html, hoặc.. (.*), Htm. Htm, vv?) Vào các trang php năng động, yêu cầu những trang cũ sẽ tự động được viết lại để các url mới của chúng tôi. không có một thông báo một điều, du khách và công cụ tìm kiếm có thể truy cập nội dung của bạn bằng cách. để lại sự cai trị ở; như là một tiền thưởng thêm, điều này cho phép chúng tôi dễ dàng chia mã php và bao gồm các cấu trúc html của mình thành hai tập tin riêng biệt, một ý tưởng tốt đẹp; làm cho chỉnh sửa và cập nhật một khoe. The [NC] một phần ở cuối có nghĩa là "Không có Case", hoặc "case-insensitive"; thêm chi tiết về các thiết bị chuyển mạch, sau đó.

    Folks có thể liên kết tới whatever.htm hoặc whatever.php, nhưng họ luôn luôn nhận được whatever.php trong trình duyệt của họ, và điều này làm việc ngay cả khi whatever.htm không tồn tại! Nhưng tôi straying ..

    Vì nó là viết tắt, đó là một chút khôn lanh; folks vẫn sẽ có whatever.htm trong thanh địa chỉ trình duyệt của họ, và vẫn sẽ giữ dấu cũ của bạn htm URL.'s. Công cụ tìm kiếm, quá, sẽ giữ trên lập chỉ mục các liên kết của bạn như. Htm, một số người thậm chí cho rằng, phục vụ cùng một nội dung từ hai nơi khác nhau có thể có bạn bị phạt bằng các công cụ tìm kiếm. Điều này có thể hoặc không phiền bạn, nhưng nếu nó không có gì, mod_rewrite có thể làm một số chi tiết ma thuật ..
    điều này sẽ làm một "thực sự" chuyển hướng bên ngoài:
    Tùy chn + FollowSymlinks
    RewriteEngine on
    RewriteRule ^(.+) \ htm $ $ http://corz.org/ 1.php [R, NC.]

    Thời gian này, chúng tôi hướng dẫn mod_rewrite để làm một hợp bên ngoài viết lại, aka, "chuyển hướng". Bây giờ, thay vì chỉ viết lại nền on-the-fly, trình duyệt của người dùng được thể chất chuyển hướng đến một URI mới, và whatever.php xuất hiện trong thanh địa chỉ của trình duyệt - công cụ tìm kiếm và các tổ chức spidering khác sẽ tự động cập nhật các liên kết của họ với các phiên bản. php; thắng tất cả mọi người. Bạn có thể mất thời gian của bạn với những cập nhật, quá.

    Lưu ý: nếu bạn sử dụng [R] một mình, nó mặc định để gửi một HTTP "dời đi tạm thời" chuyển hướng, aka, "302". Nhưng bạn có thể gửi các mã khác, như vậy ..
    này thực hiện chính xác giống như các RewriteRule ví dụ trước.
    RewriteRule ^(.+) \ htm $ $ http://corz.org/ 1.php [. R = 302, NC]

    Được rồi, tôi gửi mã chính xác cùng, nhưng tôi đã không tới. Để biết chi tiết của nhiều 30 * mã số phản ứng bạn có thể gửi, xem ở đây. Hầu hết mọi người dường như muốn gửi 301, Aka ", di chuyển PERMENENTLY".

    Lưu ý: nếu bạn thêm một "L" cờ để trộn, có nghĩa là "Rule mới", ví dụ: [R = 302, NC, L]; Apache sẽ ngừng chế biến các quy tắc cho yêu cầu này lúc đó, có thể hoặc có thể không có những gì bạn muốn. Dù bằng cách nào, nó có ích cho biết.


    không-để-viết lại đơn giản ... căn hộ liên kết và nhiều hơn nữa

    Bạn có thể nhận thấy, ví dụ trên sử dụng thường xuyên biểu để phù hợp với các biến. Gì mà đơn giản chỉ có nghĩa là .. phù hợp với phần bên trong (+). và sử dụng nó để xây dựng "$ 1" trong URL mới. Nói cách khác, (+). = $ 1 bạn có thể có nhiều (+). Phần và cho mỗi, mod_rewrite tự động tạo ra một kết hợp $ 1, $ 2, $ 3, etc, trong mục tiêu của bạn (aka. 'thay thế') URL. Cơ sở này cho phép chúng tôi làm tất cả các loại thủ thuật, và phổ biến nhất của những người, là việc tạo ra các "liên kết phẳng" ..

    Ngay cả một cute ngắn liên kết như http://mysite/grab?file=my.zip quá xấu cho một số người, và không ít hơn một trường học cũ thật sự vững chắc miền / path / căn hộ / liên
    kết sẽ làm gì. May mắn thay, mod_rewrite giúp bạn dễ dàng chuyển đổi các URL với chuỗi truy vấn và nhiều biến thành chính xác này, cái gì như ..
    một phức tạp hơn viết lại quy tắc:
    Tùy chn + FollowSymlinks
    RewriteEngine on
    RewriteRule ^ /([^/]+)/([^/]+). file zip / download.php? Phn = $ 1 & file = $ 2 [NC]

    sẽ cho phép bạn hiện nay liên kết này như ..

    http://mysite/files/games/hoopy.zip

    và nền đã có minh bạch dịch, phía máy chủ, để ..

    http://mysite/download.php?section=games&file=hoopy

    trong đó một số kịch bản có thể quá trình. Bạn thấy, nhiều công cụ tìm kiếm chỉ đơn giản là không tuân theo của chúng tôi tạo ra = liên kết?, Vậy nếu bạn tạo các trang tạo ra, điều này là có ích. Tuy nhiên, nó chỉ có các công cụ tìm kiếm câm mà không thể xử lý các loại liên kết; chúng tôi đã yêu cầu chính mình .. nào chúng ta thực sự muốn được liệt kê bằng các công cụ tìm kiếm dumb? Google sẽ xử lý một vài thông số tốt trong URL của bạn mà không có bất kỳ vấn đề, và (đói đói) msn-bot dừng tại không có gì để nhận rằng trang, Đôi khi lại nhiều lần và một lần nữa ...

    Cá nhân tôi cảm thấy đó là công cụ tìm kiếm mà phải phấn đấu để theo kịp với công nghệ web hiện đại, nói cách khác, chúng ta không nên phải câm xuống cho họ. Nhưng đó chỉ là quan điểm của tôi. Nhiều người dùng sẽ thích
    / files / game / hoopy.zip tới / download.php? phần = trò chơi & file = hoopy nhưng tôi không nhớ một trong hai cách. Khi ai đó chỉ ra cho tôi gần đây, trình bày kết như tiêu chuẩn / phẳng / đường đi có nghĩa là bạn đang ít có khả năng để có được folks làm lỗi chính tả trong gõ URL, nên cái gì như ..
    thậm chí một phức tạp hơn viết lại quy tắc:
    Tùy chn + FollowSymlinks
    RewriteEngine on
    RewriteRule ^ blog / ([0-9 ]+)-([ az] +) http://corz.org/blog/index.php?archive = $ 1 - $ 2 [NC]

    sẽ là một lừa gọn gàng, cho phép bất kỳ ai truy cập vào kho lưu trữ blog của tôi bằng cách làm ..

    http://corz.org/blog/2003-nov

    trong trình duyệt của họ, và nó có automagically chuyển phía máy chủ vào ..

    http://corz.org/blog/index.php?archive=2003-nov

    cái nào corzblog sẽ hiểu được. Thật dễ dàng để thấy rằng với một chút trí tưởng tượng, và sự hiểu biết cơ bản của một posix thường xuyên biểu, Bạn có thể thực hiện một số thao tác rất mát URL.

    Dưới đây là những điều cơ bản rất của regexp (mở rộng từ Apache
    mod_rewrite tài liệu hướng dẫn) ..




    Escaping:\char thoát mà c th char Ví d đ ch đnh ký t đc bit .. [].() \ vvVăn bn:. Bt kỳ nhân vt duy nht (trên = riêng ca mình URI toàn b)[chars] Ký t lp hc: Mt trong nhng ký t sau đây[^chars] Ký t lp: Không có sau charstext1|text2 Thay thế: text1 hoc text2 (i.e. "hoc") e.g. [^ /] phù hp vi bt kỳ nhân vt ngoi tr / (foo | bar) \. html phù hp foo.html bar.htmlQuantifiers:? 0 hay 1 ca văn bn trước* 0 hoc N ca các văn bn trước (đói)+ 1 hoc N ca các văn bn trước e.g. (. +) \ html?. phù hp foo.htm foo.html (foo)? thanh \. html phù hp bar.html foobar.htmlNhóm:(văn bn) Nhóm ca văn bn Hoc là đ thiết lp biên gii ca mt s thay thế hoc đ làm nơi backreferences nnhóm có th được s dng vào các mc tiêu ca mt RewriteRule vi $ n e.g. ^(.*)\ html foo.php?. bar =$ 1Neo:^ Bt đu ca dòng neo$ Cui dòng neo Neo mt cách rõ ràng rng các nhân vt quc gia ngay bên cnh nó PHI ("^"), th là các nhân vt đu tiên hoc ("$") ký t cui cùng ca chui URI đ phù hp vi mô hình, ví d. ^ foo (.*) phù hp foofoobar nhưng không eggfoo (.*) l $ phù hp ngu ngcmát m, Nhưng không foo

    rút ngắn URL

    Một sử dụng chung mod_rewrite là để rút ngắn URL's. Ngắn hơn URL của dễ nhớ và, tất nhiên, dễ dàng hơn để loại. Một ví dụ ..
    hãy cẩn thận với biểu thức chính quy:
    Tùy chn + FollowSymlinks
    RewriteEngine On
    RewriteRule ^ grab / công / files / download / download.php

    quy tắc này sẽ biến đổi URL của người dùng này ..

    http://mysite/grab?file=my.zip

    phía máy chủ, thành ..

    http://mysite/public/files/download/download.php?file=my.zip

    mà là một wee lừa tôi sử dụng cho máy distro của tôi, trong số những thứ khác. tất cả mọi người thích ngắn URL, và vì vậy sẽ bạn; sử dụng kỹ thuật này, bạn có thể di chuyển / công cộng / files / download / tới bất cứ nơi nào khác vào trang web của bạn, và tất cả các liên kết cũ vẫn làm việc tốt; chỉ cần thay đổi tập tin htaccess. của bạn để phản ánh vị trí mới. sửa một dòng, được thực hiện - đẹp - có nghĩa là ngay cả khi công cụ là cách sâu trong trang web của bạn có thể có các liên kết này mát như .. / trueview / sample.phpcái này; Liên kết đó không chỉ ngắn, nhưng dãy phòng..
    Nguồn tham khảo url:http://vanphongdaidien.net/dich-vu/d...-dai-dien.html

  2. Thành viên sau đây nói lời Cảm ơn tới vnozon cho bài viết hữu ích này:

    mrb00mb00m (18-07-2011)


 

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Cấu hình .htaccess trong CenOS
    By Phúc Cùi Bắp in forum Linux - Unix
    Trả lời: 3
    Bài mới gởi: 07-06-2012, 03:40 PM
  2. Trả lời: 1
    Bài mới gởi: 02-04-2012, 01:10 AM
  3. Giúp với htaccess
    By ngoclien_pro in forum Lập trình web
    Trả lời: 2
    Bài mới gởi: 12-02-2012, 10:50 PM
  4. Xin file .htaccess
    By melody in forum Hỏi đáp & Thảo luận
    Trả lời: 4
    Bài mới gởi: 27-08-2011, 06:21 PM
  5. Trả lời: 2
    Bài mới gởi: 08-11-2009, 04:16 PM

Tags for this Thread

Bookmarks

Quuyền Hạn Của Bạn

  • Bạn không thể tạo chủ đề mới
  • Bạn không thể trả lời bài viết
  • Bạn không thể gửi file đính kèm
  • Bạn không thể chỉnh sửa bài viết
  •