Hướng dẫn how to remove php extension from url in php - cách xóa phần mở rộng php khỏi url trong php
Gần đây tôi muốn xóa các phần mở rộng khỏi trang web của mình, để làm cho URL trở nên thân thiện với người dùng và tìm kiếm. Tôi tình cờ thấy các hướng dẫn về cách xóa tiện ích mở rộng 4 khỏi trang PHP. Còn 5 thì sao? Tôi cũng muốn loại bỏ những thứ đó! Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách thực hiện một cách dễ dàng, bằng cách chỉnh sửa tệp 6. Show
Tệp .htaccess là gìTệp 6 là một tệp ASCII đơn giản mà bạn tạo với trình chỉnh sửa văn bản như Notepad hoặc Textedit. Tệp cho phép máy chủ biết cấu hình nào thay đổi để thực hiện trên cơ sở mỗi hướng.
6 Các tệp ảnh hưởng đến thư mục mà chúng được đặt vào và tất cả trẻ em (các hướng phụ). Ví dụ: nếu có một tệp 6 nằm trong thư mục gốc của bạn là 3, nó sẽ ảnh hưởng đến 4, 5, 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 các lệnh 6 nhất định ảnh hưởng đến một thư mục cụ thể, hãy đặt một tệp 6 mới trong thư mục mà bạn không muốn bị ảnh hưởng với các thay đổi và xóa (các) lệnh cụ thể khỏi tệp mới.Đặc trưngVới một tệp 6, bạn có thể:
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.rewriting URLs. Loại bỏ các phần mở rộngĐể xóa tiện ích mở rộng 4 khỏi tệp PHP, ví dụ 0 đến 1, bạn phải thêm mã sau trong tệp 6:
Nếu bạn muốn xóa tiện ích mở rộng 5 khỏi tệp HTML, ví dụ 4 sang 1, bạn chỉ cần thay đổi dòng cuối cùng từ mã trên, để khớp tên tệp:
Đó 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ụ:
Thêm một dấu gạch chéo ở cuốiTôi đã nhận được nhiều yêu cầu hỏi làm thế nào để thêm một dấu gạch chéo ở cuối, ví dụ: 6Bỏ qua đoạn trích đầu tiên và chèn mã bên dưới. Bốn dòng đầu tiên liên quan đến việc loại bỏ phần mở rộng và sau đây, với việc bổ sung dấu gạch chéo và chuyển hướng.
Liên kết đến tệp HTML hoặc PHP giống như cách hiển thị ở trên. Don Tiết quên thay đổi mã nếu bạn muốn áp dụng cho tệp HTML thay vì PHP. Một số người hỏi làm thế nào bạn có thể xóa tiện ích mở rộng khỏi cả hai tệp HTML và PHP. Tôi không có một giải pháp cho điều đó. Nhưng, bạn chỉ có thể thay đổi phần mở rộng của tệp HTML của mình từ 5 hoặc 8 thành 4 và thêm mã để xóa tiện ích mở rộng 4.Sự kết luậnĐối với những người không có kinh nghiệm với các tệp 6, 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.Cập nhậtNgười dùng Godaddy chú ý: Để loại bỏ các phần mở rộng bạn cần để kích hoạt 2 trước đó. Mã sẽ trông như thế này:
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 dưới dạng nội dung trùng lặp, hãy thêm thẻ meta 3 trong 4 của tệp HTML của bạn: Apache mod_rewriteNhững gì bạn đang tìm kiếm là mod_rewrite,
Nói chung, 5 hoạt động bằng cách khớp tài liệu được yêu cầu với các biểu thức thông thường được chỉ định, sau đó thực hiện viết lại URL nội bộ (trong quy trình Apache) hoặc bên ngoài (trong trình duyệt của máy khách). Các bản viết lại này có thể đơn giản như dịch nội bộ 6 thành một yêu cầu cho 7.Các tài liệu Apache bao gồm hướng dẫn 5 và tôi nghĩ rằng một số điều bạn muốn làm được đề cập trong đó. Hướng dẫn chi tiết MOD_REWRITE.Buộc tên miền phụ Options +MultiViews RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^([^\.]+)$ $1.php [NC,L] 9
Hướng dẫn viết lại bao gồm các hướng dẫn cho điều này theo ví dụ tên máy chủ chính tắc. Loại bỏ dấu gạch chéo (Phần 1)
Tôi không chắc tại sao bạn muốn làm điều này vì hướng dẫn viết lại bao gồm một ví dụ cho điều ngược lại, tức là, luôn luôn bao gồm một dấu gạch chéo. Các tài liệu cho thấy việc loại bỏ dấu gạch chéo có tiềm năng lớn để gây ra các vấn đề:
Có lẽ bạn có thể mở rộng lý do tại sao bạn muốn loại bỏ dấu vết dấu vết mọi lúc? Hủy bỏ tiện ích mở rộng RewriteRule ^([^\.]+)$ $1.html [NC,L] 4
Điều gần nhất để làm điều này mà tôi có thể nghĩ là viết lại nội bộ mọi tài liệu yêu cầu với tiện ích mở rộng .php, tức là, 5 thay vào đó được xử lý như một yêu cầu cho 6. Lưu ý rằng việc tiến hành theo cách này sẽ yêu cầu mỗi trang một số thực sự tồn tại dưới dạng somePage.php trên hệ thống tập tin.Với sự kết hợp đúng đắn của các biểu thức chính quy, điều này có thể ở một mức độ nào đó. Tuy nhiên, tôi có thể thấy trước một số vấn đề có thể xảy ra với các trang chỉ mục không được yêu cầu chính xác và không khớp chính xác các thư mục. Ví dụ: điều này sẽ viết lại chính xác 7 dưới dạng yêu cầu cho 8:
Nhưng sẽ làm cho 9 không tải được vì không có 0Tôi sẽ đoán rằng nếu bạn sẽ xóa tất cả các dấu gạch chéo, thì việc chọn yêu cầu chỉ mục thư mục khỏi yêu cầu tên tệp trong thư mục cha sẽ trở nên gần như không thể. Làm thế nào để bạn xác định một yêu cầu cho thư mục 'foobar':
từ một yêu cầu cho một tập tin gọi là foobar (thực sự là foobar.php)
Có thể nếu bạn sử dụng Chỉ thị 1. Nhưng nếu bạn làm điều đó thì vấn đề này sẽ phức tạp hơn khi bạn sẽ yêu cầu các chỉ thị 2 để thực hiện kiểm tra mức hệ thống tập tin nếu yêu cầu ánh xạ vào thư mục hoặc tệp.Điều đó nói rằng, nếu bạn loại bỏ yêu cầu của mình trong việc loại bỏ tất cả các dấu gạch chéo và thay vào đó là dấu vết tăng cường, việc cắt giảm vấn đề "Phần mở rộng .php" trở nên hợp lý hơn một chút.
Điều này vẫn không hoàn hảo - mọi yêu cầu cho một tệp vẫn có .php được thêm vào yêu cầu trong nội bộ. Yêu cầu 'Hi.txt' sẽ đặt cái này vào nhật ký lỗi của bạn: 0Nhưng có một tùy chọn khác, đặt các chỉ thị 3 và 4 như thế này: 1Cập nhật 2013-11-14-Đã sửa đoạn trích trên để kết hợp quan sát của Nicorellius Bây giờ các yêu cầu cho hi.txt (và bất cứ điều gì khác) đều thành công, các yêu cầu cho 7 sẽ trả về phiên bản đã xử lý của Test.php và các tệp index.php sẽ hoạt động trở lại.Tôi phải cung cấp tín dụng khi tín dụng đến hạn cho giải pháp này vì tôi đã tìm thấy nó blog Michael J. Radwins bằng cách tìm kiếm Google cho PHP không mở rộng Apache. Loại bỏ dấu gạch chéoMột số tìm kiếm 6 đã đưa tôi đến một số trang tối ưu hóa công cụ tìm kiếm. Rõ ràng một số hệ thống quản lý nội dung (drupal trong trường hợp này) sẽ cung cấp nội dung có sẵn và không có dấu gạch chéo trong URL, trong thế giới SEO sẽ khiến trang web của bạn phải chịu hình phạt nội dung trùng lặp. NguồnGiải pháp có vẻ khá tầm thường, sử dụng 5 Chúng tôi viết lại với điều kiện tài nguyên được yêu cầu kết thúc trong 8 và viết lại URL bằng cách gửi lại tiêu đề 9 HTTP.Đây là ví dụ của anh ấy giả định tên miền của bạn là blamcast.net và cho phép yêu cầu tùy chọn được đặt trước với 0. 2Bây giờ chúng tôi đang nhận được một nơi nào đó. Hãy đặt tất cả lại với nhau và xem nó trông như thế nào. Bắt buộc example.com/foobar 0, không RewriteRule ^([^\.]+)$ $1.html [NC,L] 4 và không có dấu gạch chéo nàoĐiều này giả định tên miền là 3 và nó đang chạy trên cổng tiêu chuẩn 80. 3Cờ 'R' được mô tả trong phần Chỉ thị 4. Đoạn trích:5 (Lực lượng chuyển hướng) thay thế tiền tố bằng Lưu ý cuối cùngTôi đã không thể loại bỏ việc cắt giảm để làm việc thành công. Sự chuyển hướng cuối cùng đã cho tôi các vòng lặp chuyển hướng vô hạn. Sau khi đọc giải pháp ban đầu gần hơn, tôi có ấn tượng rằng ví dụ trên hoạt động cho họ vì cách cài đặt Drupal của họ được cấu hình. Anh ấy đề cập cụ thể:
Liên quan đến URL kết thúc có và không có dấu gạch chéo. Hơn nữa,
Làm cách nào để loại bỏ một .php khỏi url trong cpanel?Các bước để xóa phần mở rộng tệp là:.. Đăng nhập vào tài khoản cPanel của bạn .. Chuyển đến Trình quản lý tệp - trong phần Tệp .. Trong trình quản lý tệp, hãy chuyển đến nút Cài đặt ở góc trên cùng bên phải .. Trên cửa sổ Tùy chọn sẽ xuất hiện, hãy kiểm tra tùy chọn HIDDEN FILE (dotfiles)..... Bây giờ điều hướng đến .. Tệp .htaccess trong PHP là gì?Các .Tệp HTAccess (Access SuperText Access) là tệp cấu hình máy chủ phân phối Apache.Bạn có thể dùng .Tệp HTAccess để đặt cấu hình máy chủ cho một thư mục cụ thể.Thư mục này có thể là thư mục gốc của trang web của bạn hoặc một thư mục con khác trong đó.an Apache distributed server configuration file. You can use the . htaccess file to set server configurations for a specific directory. This directory can be the root directory of your website or another subdirectory where the .
Phần mở rộng trong PHP là gì?Tiện ích mở rộng tệp PHP đề cập đến tên của một tệp có tập lệnh PHP hoặc mã nguồn có tiện ích mở rộng ".php" ở cuối của nó.Nó tương tự như một tệp từ với a.Phần mở rộng tập tin tài liệu.the name of a file with a PHP script or source code that has a ". PHP" extension at the end of it. It's similar to a Word file with a . doc file extension. |