Tìm Kiếm
  Ngày 09 Tháng 09 Năm 2010 , 04:16:32 Đăng Ký  Đăng Nhập
   


Đăng ký
Quên Password ?

   
 
  Diễn đàn chính  Công nghệ thông...  Web  Hướng dẫn sử dụng file .htaccess trong php
Trước Trước
 
Tiếp Theo Tiếp Theo
Bài Mới 18/01/2010 9:40 SA
Thành viên offline vnozon
5 bài
vanphongdaidien.net
Thành viên Dự bị


Hướng dẫn sử dụng file .htaccess trong php 
Thay Đổi Bởi vnozon  vào 23/03/2010 1:13:56 CH)

 

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? Ph
n = $ 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 .. [].() \ vv
 
Vă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 chars
text1|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.html
 
Quantifiers:
 
? 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.html
 
Nhó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 =$ 1
 
Neo:
 
^    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..
Link tham khảo thêm về url mà tôi đã làm trong quá trình thiết kế website
thành lập công ty, thành lập doanh nghiệp, thành lập công ty cổ phần, thành lập công ty TNHH, thành lập văn phòng đại diện, thành lập chi nhánh công ty, đăng ký nhãn hiệu, làm sổ đỏ,  thay đổi đăng ký kinh doanh
 
 
Trước Trước
 
Tiếp Theo Tiếp Theo
  Diễn đàn chính  Công nghệ thông...  Web  Hướng dẫn sử dụng file .htaccess trong php
   Thống kê thành viên
Thành Viên Thành Viên:
Mới Nhất Mới Nhất: lovexinh93
Hôm Nay Hôm Nay: 9
Hôm Qua Hôm Qua: 8
Số Thành Viên Toàn Bộ: 4561

Thành Viên Online Thành Viên Online:
Khách Khách: 1
Thành Viên Thành Viên: 0
Tổng Số Tổng Cộng: 1

Đang Online Đang Online:


Trường Cao đẳng Nghề Đà Lạt
Địa chỉ: 01 Hoàng Văn Thụ - Phường 4 - TP Đà Lạt - Lâm Đồng
ĐT: (063)3827063 Fax: (063)3836654 Email: admin@cdndalat.edu.vn