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]
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