Cách xóa tiện ích mở rộng html khỏi URL mà không cần htaccess

Hãy nhớ rằng các tệp trang web của bạn phải có phần mở rộng tệp của chúng. . html chẳng hạn. Bằng cách này, trình duyệt của bạn có thể đọc chúng. Nếu bạn muốn ẩn phần mở rộng này, vui lòng sử dụng. htaccess, bạn có thể thêm các quy tắc của mình theo cách này chẳng hạn

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^.]+)$ $1.html [NC,L]

Tạo một tệp có tên. htaccess tại thư mục gốc của trang web của bạn
Lưu ý toàn bộ tên tệp là “. htaccess” (không có dấu ngoặc kép), không phải “somename. htaccess”

Thêm các dòng mã sau vào nó

Viết LạiEngine Trên
RewriteCond %{REQUEST_FILENAME}. -d
RewriteCond %{REQUEST_FILENAME}. -f
Quy tắc viết lại ^([^. ]+)$ $1. html [NC, L]

Lưu nó (một lần nữa ở thư mục gốc - có thể là nơi chỉ mục của bạn. tệp html tồn tại)

Bạn sẽ có thể duyệt đến trang web mà không cần chỉ định. html như một phần của url

Nếu nó không hoạt động, hãy nói chuyện với quản trị viên của bạn (tôi. e. , lưu trữ hỗ trợ kỹ thuật). Chúc may mắn

Gần đây tôi muốn xóa các tiện ích mở rộng khỏi trang web của mình để làm cho các URL thân thiện hơn với người dùng và công cụ tìm kiếm. Tôi tình cờ xem được các hướng dẫn về cách xóa tiện ích mở rộng .php khỏi trang PHP. Còn về .html thì sao? . Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách thực hiện điều đó một cách dễ dàng, bằng cách chỉnh sửa tệp .htaccess

Cái gì là. tập tin htaccess

Tệp .htaccess là tệp ASCII đơn giản mà bạn tạo bằng trình soạn thảo văn bản như Notepad hoặc TextEdit. Tệp cho phép máy chủ biết những thay đổi cấu hình cần thực hiện trên cơ sở từng thư mục

Xin lưu ý rằng .htaccess là tên đầy đủ của tệp. Nó không phải là

RewriteRule ^([^\.]+)$ $1.html [NC,L]
1, nó chỉ đơn giản là .htaccess

Các tệp .htaccess ảnh hưởng đến thư mục chứa chúng và tất cả các thư mục con (thư mục con). Ví dụ: nếu có một tệp .htaccess nằm trong thư mục gốc của bạn là

RewriteRule ^([^\.]+)$ $1.html [NC,L]
5, nó sẽ ảnh hưởng đến
RewriteRule ^([^\.]+)$ $1.html [NC,L]
6,
RewriteRule ^([^\.]+)$ $1.html [NC,L]
7, v.v.…

Điều quan trọng cần nhớ là điều này có thể được bỏ qua. Nếu bạn không muốn một số lệnh .htaccess ảnh hưởng đến một thư mục cụ thể, hãy đặt một tệp .htaccess mới trong thư mục mà bạn không muốn bị ảnh hưởng bởi các thay đổi và xóa (các) lệnh cụ thể khỏi tệp mới

Đặc trưng

Với tệp .htaccess, bạn có thể

  • Chuyển hướng người dùng đến trang khác
  • Mật khẩu bảo vệ một thư mục cụ thể
  • Chặn người dùng theo IP
  • Ngăn chặn liên kết nóng hình ảnh của bạn
  • Viết lại URL
  • Chỉ định Tài liệu lỗi của riêng bạn

Trong hướng dẫn này, chúng tôi sẽ chỉ tập trung vào việc viết lại các URL

Xóa tiện ích mở rộng

Để xóa phần mở rộng .php khỏi tệp PHP, chẳng hạn như

wallpaper
2 thành
wallpaper
3, bạn phải thêm đoạn mã sau vào tệp .htaccess

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]

Nếu bạn muốn xóa phần mở rộng .html khỏi tệp html, chẳng hạn như

wallpaper
6 thành
wallpaper
3, bạn chỉ cần thay đổi dòng cuối cùng từ mã ở trên để khớp với tên tệp

RewriteRule ^([^\.]+)$ $1.html [NC,L]

Đó là nó. Bây giờ bạn có thể liên kết các trang bên trong tài liệu HTML mà không cần thêm phần mở rộng của trang. Ví dụ

wallpaper

Thêm dấu gạch chéo ở cuối

Tôi nhận được nhiều yêu cầu hỏi cách thêm dấu gạch chéo ở cuối, ví dụ như.

wallpaper
8

Bỏ qua đoạn mã đầu tiên và chèn mã bên dưới. Bốn dòng đầu tiên đề cập đến việc loại bỏ phần mở rộng và dòng tiếp theo, với việc bổ sung dấu gạch chéo và chuyển hướng

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/$ $1.php
RewriteRule ^([^/]+)/([^/]+)/$ /$1/$2.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule (.*)$ /$1/ [R=301,L]

Liên kết đến tệp HTML hoặc PHP theo cách tương tự như được hiển thị ở trên. Đừng quên thay đổi mã nếu bạn muốn nó được áp dụng cho tệp HTML thay vì PHP

Một số người đã hỏi làm cách nào bạn có thể xóa tiện ích mở rộng khỏi cả tệp HTML và PHP. Tôi không có giải pháp cho điều đó. Tuy nhiên, bạn chỉ có thể thay đổi phần mở rộng của tệp HTML của mình từ .html hoặc

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/$ $1.php
RewriteRule ^([^/]+)/([^/]+)/$ /$1/$2.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule (.*)$ /$1/ [R=301,L]
0 thành .php và thêm mã để xóa phần mở rộng .php

Phần kết luận

Đối với những người không có nhiều kinh nghiệm với các tệp .htaccess, có một công cụ trực tuyến để tạo chúng. Nó rất hữu ích cho người dùng mới bắt đầu và dễ sử dụng

Người dùng GoDaddy chú ý. Để xóa các tiện ích mở rộng, bạn cần bật

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/$ $1.php
RewriteRule ^([^/]+)/([^/]+)/$ /$1/$2.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule (.*)$ /$1/ [R=301,L]
4 trước. Mã sẽ trông như thế này

Options +MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]

Nếu bạn lo lắng rằng các công cụ tìm kiếm có thể lập chỉ mục các trang này là nội dung trùng lặp, hãy thêm thẻ meta

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/$ $1.php
RewriteRule ^([^/]+)/([^/]+)/$ /$1/$2.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule (.*)$ /$1/ [R=301,L]
5 vào tệp HTML của bạn

Làm cách nào để xóa HTML khỏi URL nginx?

Cách xóa tiện ích mở rộng html trong Nginx .
Chỉnh sửa cấu hình của trang web bằng lệnh sau. # vi /etc/nginx/site-available/example. com. conf. Ghi chú. Đường dẫn của tệp cấu hình có thể khác trong máy chủ của bạn. .
Thêm mã sau. viết lại ^(/. *)\. .
Khởi động lại dịch vụ Nginx để áp dụng các thay đổi. # systemctl khởi động lại nginx

Làm cách nào để ẩn phần mở rộng URL trong PHP?

Bằng cách đặt thành tắt expo_php trong php của bạn. ini , bạn giảm lượng thông tin có sẵn cho họ. Để điều này hoạt động hiệu quả, bạn phải đổi tên các tệp PHP của mình bằng các phần mở rộng ở trên.

Phần mở rộng của tệp HTML là gì?

html và . htm , cả hai đều là phần mở rộng cho loại tệp HTML. Các. html là viết tắt của Ngôn ngữ đánh dấu siêu văn bản.