Liên kết không giới hạn php. Tập lệnh đơn giản để rút ngắn URL

Sự miêu tả

Thẻ HTML xác định mối quan hệ giữa tài liệu html hiện tại và tài nguyên bên ngoài mà nó đề cập đến. Nó là một phần tử trống (không có nội dung và không có thẻ kết thúc) và phải luôn được đặt bên trong phần tử ... Thường là thẻ được sử dụng để kết nối các bảng định kiểu bên ngoài:

Thuộc tính đầu tiên href xác định địa chỉ của tài liệu, địa chỉ này có thể là tuyệt đối hoặc tương đối. Thuộc tính thứ hai quan hệ cho biết mối quan hệ giữa tệp HTML và những gì bạn đang tham chiếu, trong trường hợp này, chúng tôi đang tham chiếu một biểu định kiểu, vì vậy giá trị biểu định kiểu được sử dụng. Thuộc tính loại cho trình duyệt biết kiểu MIME của tài liệu, đối với các biểu định kiểu, giá trị sẽ luôn là "text / css".

Lưu ý: theo tiêu chuẩn HTML5, khi kết nối tệp CSS bên ngoài với tài liệu, thuộc tính type không bắt buộc:

Tải trước các trang

Thông thường, khi bạn nhấp vào một liên kết đến một trang khác, bạn phải đợi một vài giây để nó tải. Tuy nhiên, bạn có thể định cấu hình trang web của mình để các trang nhất định được tải trước vào bộ nhớ cache của trình duyệt khi bạn đang ở trang hiện tại. Điều này có nghĩa là khi bạn nhấp vào một liên kết để đến một trang web khác, nó sẽ mở ra ngay lập tức và bạn sẽ không phải đợi nó tải. Đây được gọi là "tìm nạp trước một trang". Để làm điều này, hãy sử dụng thẻ với thuộc tính rel = "prefetch" và cũng chỉ định trang đích sẽ được tải trước trên máy tính.

Một mục nhập như vậy sẽ cho phép trang tag_p.php được lưu trữ trước trên máy tính trong khi bạn đang đọc nội dung của trang hiện tại. Bạn có thể sử dụng thẻ để tải trước bất kỳ số lượng trang nào từ trang web của riêng bạn hoặc bất kỳ trang nào khác từ internet.

Lưu ý: thay vì địa chỉ đến tài liệu HTML, bạn có thể chỉ định đường dẫn đến tệp thuộc loại khác (hình ảnh, video, v.v.).

Thuộc tính

href: Chỉ định vị trí (URL) của tệp bên ngoài (đường dẫn tệp có thể được chỉ định bằng cách sử dụng địa chỉ tuyệt đối hoặc tương đối). hreflang: Chỉ định mã ngôn ngữ gồm hai chữ cái xác định ngôn ngữ của tài liệu mà liên kết trỏ đến. Thuộc tính hreflang chỉ được sử dụng cùng với thuộc tính href. media: Xác định thiết bị mà tệp được tối ưu hóa. Nó chủ yếu được sử dụng với các tệp bảng định kiểu để xác định các kiểu khác nhau cho các loại phương tiện khác nhau. Thuộc tính media có thể nhận nhiều giá trị cùng một lúc, được phân tách bằng dấu cách. rel: Cho biết mối quan hệ giữa tài liệu hiện tại và tài liệu được liên kết.
  • Luân phiên- liên kết đến phiên bản thay thế của tài liệu (tức là các trang có thể in, bản dịch hoặc bản sao).
  • tác giả- xác định liên kết đến trang về tác giả của tài liệu hoặc đến trang có chi tiết liên hệ của tác giả.
  • kinh điển- cho phép bạn đánh dấu các trang có nội dung trùng lặp, điều này có nghĩa là tất cả các trang có cùng nội dung phải chứa thẻ với thuộc tính rel = "canonical".

    Thuộc tính href, trong trường hợp này, phải chứa một liên kết đến một trang có nội dung giống hệt nhau, mà các công cụ tìm kiếm nên coi là chính:

  • đầu tiên- chỉ ra một liên kết dẫn đến tài liệu đầu tiên trong một chuỗi các tài liệu.
  • Cứu giúp- liên kết đến một tài liệu với sự trợ giúp.
  • biểu tượng- xác định đường dẫn đến biểu tượng sẽ được sử dụng cho tài liệu hiện tại.
  • Cuối cùng- chỉ ra một liên kết dẫn đến tài liệu cuối cùng trong một chuỗi các tài liệu.
  • giấy phép- liên kết đến thông tin bản quyền cho tài liệu.
  • tiếp theo- chỉ ra rằng tài liệu này là một phần của bộ và liên kết sẽ dẫn đến tài liệu tiếp theo trong bộ.
  • tìm nạp trước- chỉ ra rằng tệp mà liên kết dẫn đến phải được lưu vào bộ nhớ đệm trước.
  • trước- chỉ ra rằng tài liệu này là một phần của một bộ và rằng liên kết là một tài liệu trước đó trong bộ.
  • Tìm kiếm- liên kết để tìm kiếm tài liệu.
  • bảng định kiểu- xác định một tệp bên ngoài sẽ được sử dụng làm biểu định kiểu cho tài liệu này.
kích thước: Chỉ định kích thước của các biểu tượng để hiển thị trực quan. Thuộc tính kích thước chỉ được sử dụng cùng với rel = "icon" và có thể nhận các giá trị sau:
  • chiều rộng x chiều cao- xác định danh sách các kích thước được phân tách bằng dấu cách, mỗi kích thước phải ở định dạng - widthxheight (kích thước biểu tượng được xác định bằng pixel), ví dụ:
  • bất kì- biểu tượng có thể được thu nhỏ thành bất kỳ kích thước nào.
type: Chỉ định kiểu MIME (đặc điểm kỹ thuật định dạng thông báo và mã hóa thông tin để truyền qua Internet) của tài liệu được tham chiếu, chỉ được sử dụng cùng với thuộc tính href.

Nhãn cũng hỗ trợ

Không có gì bí mật khi hầu hết các nhà phát triển mô-đun, plugin và bản thân CMS đều có xu hướng để lại các liên kết trực tiếp đến các trang cá nhân của họ. Đôi khi quản trị viên web phải mất một khoảng thời gian kha khá để tìm ra những liên kết như vậy. Thời gian lẽ ra anh ấy có thể dành cho những nhiệm vụ quan trọng hơn. Tập lệnh Find-Link mà chúng tôi cung cấp chỉ nhằm mục đích tìm kiếm các liên kết bên ngoài. Đồng thời, cài đặt và sử dụng khá đơn giản: tất cả những gì bạn cần làm là sao chép tập tin script vào thư mục gốc của trang web và mở nó trên trình duyệt. Find-Link sẽ cho bạn biết liên kết ngoài có trong tệp nào và cũng cho biết mã của nó. Sau đó, bạn chỉ cần xóa nó.

Bạn có thể tải xuống phiên bản script 0.5.0
Bạn có thể tải xuống phiên bản script 0.4.0
Bạn có thể tải xuống phiên bản script 0.3.1
Bạn có thể tải xuống phiên bản script 0.3.0
Bạn có thể tải xuống phiên bản script 0.2.0
Bạn có thể tải xuống phiên bản script 0.1.0

Cài đặt:

1. Sao chép tệp find-link.php vào thư mục gốc của trang web của bạn.
2. Mở tệp http: // trang web của bạn / find-link.php trong trình duyệt.

Quan trọng - nếu Find-Link không có thời gian để hoàn thành nhiệm vụ được giao cho nó, hãy sao chép tệp script vào các danh mục phụ và kiểm tra trang web của bạn theo từng phần.

Chúng tôi hy vọng rằng tài nguyên của chúng tôi và tất cả các công cụ chúng tôi cung cấp sẽ giúp bạn nhiều hơn một lần khi làm việc với các dự án của mình.

TẢI XUỐNG NGUỒN

Tôi thích giải quyết vấn đề với các tập lệnh nhỏ và gọn. Bạn càng phải viết ít mã thì càng tốt. Gần đây, tôi một lần nữa có cơ hội để làm điều đó.

Vấn đề này có thể được giải quyết bằng cách sử dụng tập lệnh URL rút gọn. Các dịch vụ đã ra đời khá lâu, nhưng không phải là không có nhược điểm. Dưới đây là một số trong số họ:

  • Sự phụ thuộc vào một dịch vụ bên ngoài - khi nó không hoạt động, các liên kết cũng không khả dụng. Thậm chí tệ hơn, nếu dịch vụ bị đóng - bản thân bạn hiểu điều này sẽ dẫn đến điều gì;
  • Tất cả các số liệu thống kê được theo dõi bởi các dịch vụ của bên thứ ba;
  • Thông thường, không được phép thay đổi hình thức của các liên kết rút gọn;
  • Một số dịch vụ cho phép bạn chọn biệt hiệu của mình, nhưng hầu hết sẽ tự động gán chúng.

Vì vậy, nhiệm vụ là viết tập lệnh PHP của riêng bạn, điều này cho phép bạn giải quyết vấn đề được mô tả ở trên!

Ý kiến

Nếu tập lệnh được tạo chỉ để sử dụng cho riêng bạn, thì bạn có thể bỏ qua việc tạo những thứ như đăng ký người dùng và bảng điều khiển quản trị. Sau đây là các tính năng mà tập lệnh tương lai của chúng tôi nên có:

  • Các liên kết ngắn sẽ trông như thế nào http://example.com/l/short-link... Một lượt truy cập vào URL đã cho sẽ được chuyển hướng đến địa chỉ thực;
  • Toàn bộ tập lệnh sẽ nằm trong một tệp duy nhất - index.php, không có phụ thuộc bên ngoài;
  • Không có bảng quản trị với các công cụ để thêm và chỉnh sửa liên kết. Mọi thứ sẽ được quản lý bằng một tệp văn bản đơn giản nằm trên máy chủ, rất dễ chỉnh sửa;
  • ID sẽ không được tự động gán cho các liên kết - bạn sẽ tự nhập biệt hiệu.

Những điểm này sẽ đơn giản hóa tập lệnh trong tương lai của chúng tôi. Để làm cho mọi thứ rõ ràng hơn, tôi quyết định giữ các liên kết trong một tệp INI vì nó dễ chỉnh sửa và PHP đã hỗ trợ tích hợp cho chúng thông qua chức năng parse_ini_file(điều này giúp chúng ta không phải đọc nội dung của tệp và phân tích cú pháp thủ công, ngoài ra, chức năng này rất nhanh).

Tệp INI

Tệp INI trông giống như sau:

links.ini

Thực hiện

Tập lệnh PHP của chúng tôi rất đơn giản:

index.php

$ links = parse_ini_file ("links.ini"); if (Isset ($ _ GET ["l"]) && array_key_exists ($ _ GET ["l"], $ links)) (header ("Vị trí:". $ links [$ _ GET ["l"]]) ;) else (tiêu đề ("Không tìm thấy HTTP / 1.0 404"); echo "Liên kết không xác định.";)

Tập lệnh mong đợi nhận được một bí danh trong mảng $ _GET [‘l’], trông giống như sau: http://example.com/index.php?l=google.

Tất nhiên đây không phải là cách viết tắt, nhưng chúng ta có thể cải thiện nó bằng tệp .htaccess (dùng để khởi động máy chủ web Apache).

Htaccess

RewriteEngine trên RewriteCond $ 1! ^ (Index.php) RewriteRule ^ (. *) $ Index.php? L = $ 1 [L]

Tệp này phải nằm trong cùng thư mục với index.php và links.ini. Mục đích của nó là chuyển hướng mọi yêu cầu KHÔNG đi đến tệp index.php đến một địa chỉ như index.php? L = xxx. Điều này sẽ ngăn chặn các liên kết tròn và làm cho tệp links.ini không thể truy cập được từ trình duyệt.

Để có kết quả tốt nhất, hãy đặt ba tệp này trong một thư mục có tên ngắn như "l" trong thư mục gốc của trang web của bạn và bạn sẽ nhận được một dạng liên kết ngắn ở dạng http://example.com/l/google .

Ví dụ với trang web google.com không mang tính mô tả nhiều, vì liên kết rút gọn hóa ra dài hơn liên kết ban đầu, nhưng điều quan trọng là phải hiển thị chính xác bản chất của cơ chế mà tôi hy vọng đã đạt được.

Sự kết luận

Một cải tiến khác có thể được thực hiện là tạo một giao diện quản trị đơn giản hơn để có thể thay đổi nội dung của tệp INI.

Tất nhiên, có rất nhiều thứ khác phải thực hiện trong tập lệnh này. Hy vọng sáng tạo của tôi hữu ích cho bạn!

Ấn phẩm này là bản dịch của bài báo " Mẹo nhanh - Tạo trình rút ngắn URL đơn giản với 10 dòng PHP"Được chuẩn bị bởi nhóm dự án thân thiện