Hướng dẫn how to hide index php from url - cách ẩn chỉ mục php khỏi url
Câu trả lời ban đầu thực sự là chính xác, nhưng thiếu giải thích. Tôi muốn thêm một số giải thích và sửa đổi. Show
Tôi khuyên bạn nên đọc phần giới thiệu ngắn này https://httpd.apache.org/docs/2.4/rewrite/intro.html (15 phút) và tham khảo 2 trang này trong khi đọc. https://httpd.apache.org/docs/2.4/mod/mod_rewrite.html https://httpd.apache.org/docs/2.4/rewrite/flags.html Đây là quy tắc cơ bản để ẩn
Hãy nghĩ Ví dụ. $ sudo vi /var/www/html/.htaccess0, %{REQUEST_FILENAME} là $ sudo vi /var/www/html/.htaccess2 Vì vậy, 3 dòng cuối cùng có nghĩa là, nếu đó không phải là một tệp thông thường $ sudo vi /var/www/html/.htaccess3 chứ không phải thư mục $ sudo vi /var/www/html/.htaccess4, thì hãy thực hiện $ sudo vi /var/www/html/.htaccess5. Đối với các định dạng viết lại: Vì vậy, $ sudo vi /var/www/html/.htaccess6 có nghĩa là, nếu 2 $ sudo vi /var/www/html/.htaccess7 được thỏa mãn, nó sẽ phù hợp với mọi thứ sau tên máy chủ. $ sudo vi /var/www/html/.htaccess9 khớp với bất kỳ ký tự đơn nào, 0 khớp với bất kỳ ký tự nào và $ sudo vi /var/www/html/.htaccess8 làm cho điều này trở thành một biến có thể là tài liệu tham khảo bằng 2, sau đó thay thế bằng 3. Hiệu ứng cuối cùng là thêm một index.php trước vào toàn bộ đường dẫn URL.characters and $ sudo vi /var/www/html/.htaccess8 makes this a variables can be references with 2, then replace with 3. The final effect is to add a preceding index.php to the whole URL path.Ví dụ. Đối với 5, nó sẽ sản xuất, 6 trong nội bộ.internally. Một vấn đề quan trọng khác là điều này thực sự giải quyết câu hỏi. Trong nội bộ, (tôi đoán) nó luôn cần 6, nhưng với việc viết lại, bạn có thể truy cập trang web mà không cần index.php , Apache nói thêm điều đó cho bạn trong nội bộ.Internally, (I
guess) it always need 6, but with rewriting, you could visit the site without index.php , apache adds that for you internally.BTW, tạo thêm một tệp
Theo mặc định, các nền tảng PHP như WordPress và Codeigniter expend index.php ở cuối URL trang web, không thực sự cần thiết. Dưới đây là các bước để xóa index.php khỏi url bằng cách sử dụng .htaccess trong máy chủ web Apache. Bạn có thể sử dụng các bước này để xóa index.php khỏi WordPress, Codeigniter và các trang web PHP khác. Về cơ bản, chúng tôi sẽ chuyển hướng Index.php sang URL mà không có nó. Vì vậy, chúng tôi sẽ cần mô -đun Apache mod_rewrite. Trước khi tiếp tục tiếp tục, vui lòng đảm bảo rằng bạn đã kích hoạt mod_rewrite trong Apache Web Server. Dưới đây là các bước để kích hoạt mod_rewrite trong Apache. Vào cuối của nó, bạn sẽ tạo một tệp .htaccess cho trang web của bạn. 1. Mở tệp .htaccessMở thiết bị đầu cuối và chạy các lệnh sau để mở tệp .htaccess. Chúng tôi đã sử dụng đường dẫn tệp mặc định của tệp .htaccess. Bạn có thể thay đổi nó theo yêu cầu của bạn. $ sudo vi /var/www/html/.htaccess 2. Xóa index.php khỏi urlThêm các dòng sau trong tệp .htaccess.
Chúng ta hãy nhìn vào từng dòng ở trên. Dòng đầu tiên cho phép mod_rewrite nếu nó chưa được bật. Dòng thứ hai phù hợp với các URL không phải là tệp. Dòng thứ ba phù hợp với các URL không phải là thư mục. Vì vậy, chúng tôi đang tìm cách phù hợp với các URL không phải là tệp cũng không phải thư mục. Dòng cuối cùng có nghĩa là nếu hai câu lệnh viết lại trước khi nó được khớp với URL, thì nó sẽ được chuyển hướng đến URL mà không cần index.php trong đó. 3. Khởi động lại máy chủ web ApacheKhởi động lại máy chủ Apache để áp dụng các thay đổi $ sudo systemctl restart httpd Bây giờ nếu bạn mở trình duyệt và truy cập http: //your_domain_or_ip/index.php, bạn sẽ được chuyển hướng đến http: // your_domain_or_ip. Thay thế your_domain_or_ip bằng tên miền hoặc địa chỉ IP của bạn. Tương tự, nếu bạn truy cập URL như http: //your_domain_or_ip/index.php/Folder1/Folder2 Bạn sẽ được chuyển hướng đến http: // your_domain_or_ip/firder1/firder2 Bài viết liên quan:
Để loại bỏ các chỉ mục trên mạng. Nếu bạn đang chạy Apache, bạn có thể làm điều đó bằng cách tạo một chuyển hướng trong tệp .htaccess trang web của bạn. Nếu bạn không có một tệp, hãy tạo một tệp mới có tên là .htaccess, trong trang web của bạn. Lưu cái này bên trong tệp .htaccess của bạn:
Điều đó viết lại quy tắc về cơ bản nói, nếu một yêu cầu được đưa ra trong bản đồ đó không phải là một thư mục hoặc tệp hiện có, hãy chuyển nó sang index.php thay thế. Với tệp đó, hãy thử truy cập một trang trên trang web của bạn (bên cạnh trang chủ của bạn), mà không cần chỉ mục. Nếu nó hoạt động, tuyệt vời! Nếu không, bạn nên kiểm tra với máy chủ của mình để xem lý do tại sao tệp .htaccess không hoạt động. Điều đó thật tuyệt, nhưng các URL của tôi vẫn đang xuất hiện với Index index.php, # #Bước cuối cùng là nói với Craft rằng trang web của bạn được thiết lập để xử lý các URL mà không cần chỉ số. . Bạn có thể nói với Craft không bao gồm các chỉ mục của nhóm.
Với điều đó, Craft sẽ nhận lời của bạn và ngừng thực hiện kiểm tra hàng ngày. Nhưng nghiêm túc mà nói, các URL của tôi vẫn có chỉ số.Nếu bạn trên Apache, tệp $ sudo systemctl restart httpd2 của bạn có thể không được đặt cho trang web của bạn, việc vô hiệu hóa hiệu quả tất cả các thay đổi tệp .htaccess . Thay đổi nó thành $ sudo systemctl restart httpd4, khởi động lại Apache và cuối cùng bạn sẽ được đặt. Ngoài ra, hãy đảm bảo MOD_REWRITE được bật. Làm cách nào để loại bỏ chỉ số PHP?Cách xóa chỉ mục ... Tạo tệp .htaccess .. Xóa tệp index.php .. Bật chế độ Apache viết lại .. Khởi động lại Apache .. Làm cách nào để loại bỏ 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 .. Tại sao URL của tôi nói chỉ số PHP?Lý do phổ biến nhất cho chỉ số.PHP xuất hiện là cấu trúc permalink không đúng.Do đó, trước tiên hãy kiểm tra xem cấu trúc được đặt đúng.Để kiểm tra nó, điều hướng đến cài đặt -> permalinks.improper permalink structure. Therefore first check if the structure is set properly. To check it, navigate to Settings -> Permalinks.
Tệp .htaccess trong PHP là gì?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 . |