Làm cách nào để xóa tiện ích mở rộng trong PHP?

Theo mặc định, Apache thêm. php sang URL cho các tệp PHP. Đây là cách xóa. php từ URL trong Apache. Bạn có thể sử dụng các bước này để loại bỏ. php từ URL trong WordPress, Magento, Drupal, Joomla và các hệ thống CMS khác. Bạn cũng có thể sử dụng nó để xóa chỉ mục. php từ URL


Di dời. tiện ích mở rộng php từ URL

Trước khi tiếp tục, bạn cần bật mod_rewrite trong máy chủ web Apache. Dưới đây là các bước để kích hoạt mod_rewrite (. htaccess) trong máy chủ web Apache

1. Mở tệp htaccess

Mở terminal và chạy lệnh sau để mở. tập tin htaccess. Vui lòng thay đổi đường dẫn tệp thành. htaccess theo yêu cầu của bạn

$ sudo vi /var/www/html/.htaccess

Phần thưởng đọc. Cách xóa Dấu gạch chéo khỏi URL


2. Di dời. tiện ích mở rộng php từ URL

Thêm các dòng sau để chuyển hướng tất cả các URL với. phần mở rộng php cho các URL không có phần mở rộng tệp

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

Trong đoạn mã trên, dòng đầu tiên kiểm tra xem yêu cầu là một URL chứ không phải một thư mục. Dòng thứ hai chuyển hướng các URL phù hợp với. phần mở rộng php cho những phần mở rộng không có phần mở rộng tệp. Dòng cuối cùng chuyển hướng các yêu cầu phù hợp tới các URL không có phần mở rộng tệp php

Tôi yêu PHP, nhưng sếp của tôi thì không. Một lần, anh ấy không hài lòng khi thấy dự án được mã hóa bằng PHP bằng cách nhìn thấy. php trên URL, nêu lý do vì đây là ngôn ngữ cũ và nhiều ngôn ngữ mới như NodeJS đã xuất hiện nên được sử dụng để viết mã cho dự án. Mặc dù tất cả những lời giải thích và thuyết phục của tôi đều vô ích. Tôi đã quyết định xóa tiện ích mở rộng .php khỏi URL. Tất nhiên, loại bỏ các. phần mở rộng php không thực sự ngăn mọi người biết ngôn ngữ được sử dụng để xây dựng ứng dụng. Nhưng nếu sếp của bạn cũng ngu như nhiều người ngoài kia, thì một giải pháp là trốn đi. Nói rằng, từ góc độ bảo mật, làm như vậy là tốt. Các lợi ích khác của việc sử dụng URL không có phần mở rộng như sau

  • URL trông gọn gàng hơn
  • Chúng rất dễ gõ
  • Thật dễ nhớ
  • Làm cho URL thân thiện hơn với từ khóa SEO (Mặc dù không có lợi ích SEO trực tiếp)
  • Bạn có thể thay đổi các công nghệ cơ bản
  • Có thể ẩn các công nghệ đằng sau nó như đã giải thích trước đó

Để xóa phần mở rộng tệp, chúng tôi cần thực hiện các thay đổi trong tệp .htaccess

Cập nhật. tập tin htaccess

Kiểm tra thư mục gốc của trang web của bạn để tìm tệp “. htaccess”. Nếu bạn chưa có, hãy tạo nó

Xóa phần mở rộng php

Thêm mã sau vào tệp .htaccess của bạn và lưu nó

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

# To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R=302,L,NE]

## To internally redirect /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME}.php -f [NC]
RewriteRule ^ %{REQUEST_URI}.php [L]

Nếu bạn có một yêu cầu AJAX đối với các tệp PHP bằng phương thức POST, thì đoạn mã trên có thể có vấn đề và các yêu cầu đó ngừng hoạt động. Để bỏ qua các yêu cầu POST, hãy tìm dòng RewriteCond %{REQUEST_METHOD} !POST

Cách loại trừ một tệp/URL cụ thể khỏi. htaccess Quy tắc viết lại?

Nếu bạn muốn giữ phần mở rộng cho một số tệp nhất định vì một số trong số chúng có thể lấy dữ liệu từ các phương thức POST và đôi khi có thể xảy ra lỗi khi chuyển hướng các trang đó. Để loại trừ một tệp khỏi việc xóa phần mở rộng, chỉ cần thêm dòng sau vào mã .htaccess của bạn

Loại trừ tệp/URL cụ thể

RewriteCond %{REQUEST_URI} !^/file.php$

Loại trừ thư mục con cụ thể

RewriteRule ^admin - [L]

được gắn thẻ. ApachePHP

Bài viết này hữu ích không?

Thông tin về các Tác giả

Làm cách nào để xóa tiện ích mở rộng trong PHP?

Ramya Santhosh

là một Nhà thiết kế web và người tạo nội dung. Một nhà văn tự do về các xu hướng mới nhất trong công nghệ, đánh giá tiện ích, Cách thực hiện, v.v.

Để chỉ lấy tên của tệp, cần xóa phần mở rộng khỏi tên tệp. Bạn có thể xóa phần mở rộng khỏi tên tệp bằng PHP. Có một số cách để xóa phần mở rộng khỏi chuỗi bằng PHP. Trong mã ví dụ sau, chúng tôi sẽ chỉ cho bạn tất cả các cách có thể để xóa phần mở rộng khỏi tên tệp và trích xuất tên gốc của tệp trong PHP

Sử dụng Biểu thức chính quy (RegEx)
Sử dụng mẫu RegEx để xóa phần mở rộng khỏi tên tệp bằng PHP

$filename = 'filename.php';
$filename_without_ext = preg_replace('/\\.[^.\\s]{3,4}$/', '', $filename);

Sử dụng hàm substr() và strrpos()
Bạn có thể sử dụng các hàm substr()strrpos() để truy xuất tên tệp không có phần mở rộng trong PHP

$filename = 'filename.php';
$filename_without_ext = substr($filename, 0, strrpos($filename, "."));

Sử dụng hàm pathinfo()
Hàm PHP pathinfo() trả về thông tin về đường dẫn tệp (tên thư mục, tên cơ sở, phần mở rộng và tên tệp) trong một mảng

  • Bạn có thể sử dụng cờ PATHINFO_FILENAME để loại bỏ phần mở rộng và chỉ lấy tên tệp
$filename = 'filename.php';
$filename_without_ext = pathinfo($filename, PATHINFO_FILENAME);

Sử dụng hàm basename()
Hàm PHP basename() trả về tên tệp của đường dẫn

  • Nếu bạn đã biết phần mở rộng, hãy chuyển nó vào tham số tùy chọn thứ hai để loại bỏ phần mở rộng đó khỏi tên tệp
________số 8_______

Làm cách nào để xóa tệp mở rộng trong PHP?

Bạn có thể sử dụng hàm substr() và strrpos() để truy xuất tên tệp không có phần mở rộng trong PHP . $filename = 'tên tệp. php'; . "));

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.

Làm cách nào để xóa phần mở rộng khỏi tên tệp HTML?

tiện ích mở rộng html có thể dễ dàng bị xóa bằng cách chỉnh sửa. tệp htaccess .

Làm cách nào để lấy phần mở rộng của tệp trong PHP?

Cách đơn giản nhất để lấy phần mở rộng tệp trong PHP là sử dụng hàm có sẵn của PHP pathinfo . Lưu câu trả lời này.