Hướng dẫn how do i hide php extension in url? - làm cách nào để ẩn tiện ích mở rộng php trong url?

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 .php khỏi trang PHP. Còn

RewriteRule ^([^\.]+)$ $1.html [NC,L]
0 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
RewriteRule ^([^\.]+)$ $1.html [NC,L]
1.

Tệp .htaccess là gì

Tệp

RewriteRule ^([^\.]+)$ $1.html [NC,L]
1 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.

Xin lưu ý rằng

RewriteRule ^([^\.]+)$ $1.html [NC,L]
1 là tên đầy đủ của tệp. Đó là
RewriteRule ^([^\.]+)$ $1.html [NC,L]
4, nó chỉ đơn giản là
RewriteRule ^([^\.]+)$ $1.html [NC,L]
1.

Các tệp

RewriteRule ^([^\.]+)$ $1.html [NC,L]
1 ảnh hưởng đến thư mục mà chúng được đặt vào và tất cả trẻ em (các thư mục phụ). Ví dụ: nếu có một tệp
RewriteRule ^([^\.]+)$ $1.html [NC,L]
1 nằm trong thư mục gốc của bạn là
RewriteRule ^([^\.]+)$ $1.html [NC,L]
8, nó sẽ ảnh hưởng đến
RewriteRule ^([^\.]+)$ $1.html [NC,L]
9,
<a href="http://whatever.com/wallpaper" title="wallpaper">wallpaper</a>
0, 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

RewriteRule ^([^\.]+)$ $1.html [NC,L]
1 nhất định ảnh hưởng đến một thư mục cụ thể, hãy đặt tệp
RewriteRule ^([^\.]+)$ $1.html [NC,L]
1 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ưng

Với một tệp

RewriteRule ^([^\.]+)$ $1.html [NC,L]
1, bạn có thể:

  • Chuyển hướng người dùng đến trang khác nhau
  • 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 của hình ảnh của bạn
  • Viết lại URL
  • Chỉ định các 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.rewriting URLs.

Loại bỏ các phần mở rộng

Để xóa tiện ích mở rộng .php khỏi tệp PHP, ví dụ

<a href="http://whatever.com/wallpaper" title="wallpaper">wallpaper</a>
5 đến
<a href="http://whatever.com/wallpaper" title="wallpaper">wallpaper</a>
6, bạn phải thêm mã sau trong tệp
RewriteRule ^([^\.]+)$ $1.html [NC,L]
1:

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

Nếu bạn muốn xóa tiện ích mở rộng

RewriteRule ^([^\.]+)$ $1.html [NC,L]
0 khỏi tệp HTML, ví dụ
<a href="http://whatever.com/wallpaper" title="wallpaper">wallpaper</a>
9 sang
<a href="http://whatever.com/wallpaper" title="wallpaper">wallpaper</a>
6, bạn chỉ cần thay đổi dòng cuối cùng từ mã trên, để khớp 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ụ:

<a href="http://whatever.com/wallpaper" title="wallpaper">wallpaper</a>

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

Tô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ụ:

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

Bỏ 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.

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 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ừ ____10 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]
3 thành .php và thêm mã để xóa tiện ích mở rộng .php.

Sự kết luận

Đối với những người không có kinh nghiệm với các tệp

RewriteRule ^([^\.]+)$ $1.html [NC,L]
1, 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ật

Người dùng Godaddy chú ý: Để loại bỏ các phần mở rộng bạn cần để kích hoạ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]
7 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 dưới dạng 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]
8 trong
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]
9 của tệp HTML của bạn:

<link rel="canonical" href="https://alexcican.com/post/single-post" />

1) Bạn có chắc chắn mô -đun mod_rewrite được bật không? Kiểm tra

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

2) Quy tắc trên của bạn giả định URL bắt đầu bằng "thư mục". Điều này có đúng không? Bạn có muốn có thư mục trong URL không? Điều này sẽ phù hợp với một URL như:

/folder/thing -> /folder/thing.php

Nếu bạn thực sự muốn

/thing -> /folder/thing.php

Bạn cần bỏ thư mục từ biểu thức khớp.

Tôi thường sử dụng điều này để định tuyến yêu cầu đến trang mà không có PHP (nhưng bạn nên làm việc khiến tôi nghĩ rằng mod_rewrite có thể không được bật):

________số 8

3) Giả sử bạn đang khai báo các quy tắc của mình trong tệp .htaccess, cài đặt của bạn có cho phép cài đặt các tùy chọn (allowOverride) ghi đè trong các tệp .htaccess không? Một số máy chủ được chia sẻ không.

Khi máy chủ tìm thấy một tệp .htaccess (theo chỉ định của accessFileName), nó cần biết các chỉ thị nào được khai báo trong tệp đó có thể ghi đè thông tin truy cập trước đó.

Làm cách nào để xóa phần mở rộng .php khỏi URL?

Cách loại bỏ ...
Mở tệp HTACCESS. Mở thiết bị đầu cuối và chạy lệnh sau để mở. HTACCESS FILE. ....
Loại bỏ . Phần mở rộng PHP từ URL. ....
Khởi động lại máy chủ web Apache. Khởi động lại máy chủ Apache với lệnh sau $ sudo systemctl khởi động lại httpd ..

Làm cách nào để ẩn một phần mở rộng trang web?

Tiện ích mở rộng HTML có thể dễ dàng xóa bằng cách chỉnh sửa tệp .htaccess.editing the . htaccess file.

Làm thế nào chúng ta có thể ngăn tệp từ truy cập URL trực tiếp trong PHP?

Php "Tệp, tức là nếu bất kỳ ai nhập URL" myweb.com/php/check.php ", thì tệp PHP không nên được thực thi và thay vào đó, nó sẽ trả về một thông báo lỗi ...
'PHP' trong ^php/kiểm tra.....
@Itassistors Yeah Bạn xóa nó để gán nó cho một tệp khác hoặc chỉ nhập gốc giữa ^ và $ ..

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