Câu hỏi Làm cách nào để thêm tệp / tệp PHP vào các tệp HTML (.html)?


Tôi không thể sử dụng PHP trong các trang HTML của mình. Ví dụ, index.html. Tôi đã thử sử dụng cả hai:

<? contents ?> 

<?php contents ?> 

Cả hai đều không hoạt động. Máy chủ của tôi cung cấp PHP và khi tôi sử dụng .php mở rộng, nó hoạt động đúng. Đây có phải là vấn đề hay tôi phải thay đổi tùy chọn trong php.ini?


76
2017-07-03 13:45


gốc


Bạn sẽ phải thay đổi máy chủ của bạn (tôi giả định apache) để phục vụ các tập tin html như php, nhưng tại sao bạn muốn phần mở rộng được html thay vì php? - Explosion Pills
php.about.com/od/advancedphp/p/html_php.htm - undone
@ExplosionPills Tôi đã thực hiện nó bằng IIS v7! và có thể! - undone
@ Death Tôi không ngụ ý rằng nó có thể chỉ có được thực hiện với apache, tôi chỉ cho rằng anh ta đang sử dụng apache. - Explosion Pills
Thật là một ý tưởng khủng khiếp. Sử dụng chuyển hướng để lưu SEO của bạn. Sử dụng .html cho HTML và .php cho PHP. - Alien Technology


Các câu trả lời:


Bạn không thể chạy PHP trong các tệp .html vì máy chủ không nhận ra đó là một phần mở rộng PHP hợp lệ trừ khi bạn yêu cầu nó. Để làm điều này, bạn cần phải tạo một tập tin .htaccess trong thư mục web gốc của bạn và thêm dòng này vào nó:

AddType application/x-httpd-php .htm .html

Điều này sẽ bảo Apache xử lý các tệp có phần mở rộng tệp .htm hoặc .html dưới dạng tệp PHP.


122
2017-07-03 13:47



Trong khi đây là đúng Tôi nghĩ một câu hỏi quan trọng hơn là tại sao làm cái này? Hơn nữa, anh ta nên cập nhật cấu hình máy chủ thay vì sử dụng .htaccess nếu đó là một lựa chọn. - Explosion Pills
Tôi đã làm điều này nhiều lần để che giấu sự thật rằng tôi đang sử dụng PHP (ngoài những thứ khác) - nickb
Cám ơn về những thông tin tuyệt vời. nó thực sự hoạt động cùng một lúc. - Hoon
@nickb - bảo mật thông qua sự tối tăm? - Nathan Long
@EricFinn - đó là một hướng dẫn tốt. Nhưng có quá trình máy chủ .html tập tin như PHP là không cần thiết ngay cả, hoặc hữu ích, theo dõi nó. Bạn muốn người dùng truy cập example.com/foo. Bạn có thể sử dụng URL đó để phục vụ nội dung PHP bất kể tên tệp trên máy chủ của bạn. Nếu người dùng đã có foo.html được đánh dấu, bạn vẫn có thể phục vụ foo.php mà không đổi tên tệp. - Nathan Long


Tôi nghĩ rằng viết PHP vào một tập tin .html là khó hiểu và chống tự nhiên. Tại sao bạn lại làm vậy??

Dù sao, nếu những gì bạn muốn là thực thi các tệp PHP và hiển thị chúng dưới dạng .html trong thanh địa chỉ, một giải pháp dễ nhất sẽ sử dụng .php như bình thường và viết một quy tắc trong .htaccess của bạn như sau:

RewriteRule ^([^.]+)\.html$ $1.php [L]

19
2017-07-03 13:56



Nếu tôi sử dụng PHP + HTML thì sao? tôi nên sử dụng định dạng nào? Tôi khá bối rối. Trang của tôi có mã thực sự ngắn dựa trên PHP và có nhiều mã trong HTML. Vì vậy, những gì tôi sẽ làm là tạo một tệp HTML. Đây có phải là một thói quen xấu? - Hoon
Định dạng phải là tệp .php, dưới dạng tệp .html chỉ nhằm chứa mã HTML. - David Morales


Để sử dụng php trong các tệp .html, bạn phải liên kết chúng với bộ xử lý PHP của bạn trong tệp cấu hình của máy chủ HTTP của bạn. Trong Apache, trông như thế này:

AddHandler application/x-httpd-php .html

13
2017-07-03 13:47





Bạn có thể sửa đổi .htaccess như những người khác đã nói, nhưng giải pháp nhanh nhất là đổi tên phần mở rộng của tệp thành .php


11
2017-07-03 14:00





Thêm dòng này

AddHandler application/x-httpd-php .html

đến httpd.conf tập tin cho những gì bạn muốn làm. Nhưng hãy nhớ, nếu bạn làm điều này thì máy chủ web của bạn sẽ rất chậm, bởi vì nó sẽ phân tích cú pháp ngay cả mã tĩnh mà sẽ không chứa mã php. Vì vậy, cách tốt hơn là tạo phần mở rộng tệp .phtml Thay vì chỉ .html.


8
2017-07-04 20:43



Hãy nhớ không viết toàn bộ câu trả lời của bạn bằng chữ in đậm. - David Morales


Cho có .html các tệp được phân tích cú pháp, bạn cần phải đặt trình xử lý thích hợp trong cấu hình máy chủ của mình.

Đối với Apache httpd 2.X, đây là dòng sau

AddHandler application/x-httpd-php .html

Xem PHP docu để biết thông tin về cài đặt máy chủ cụ thể của bạn.


7
2017-07-03 13:49





Theo mặc định, bạn không thể sử dụng PHP trong các trang HTML.

Để thực hiện điều đó, hãy sửa đổi tệp .htacccess của bạn bằng các thông tin sau:

AddType application/x-httpd-php .html

6
2017-07-03 13:48





Nếu bạn chỉ có mã php trong một tệp html nhưng có nhiều tệp khác chỉ chứa mã html, bạn có thể thêm thông tin sau vào tệp .htaccess của mình để tệp này chỉ phân phối tệp cụ thể đó dưới dạng php.

<Files yourpage.html>
AddType application/x-httpd-php .html 
//you may need to use x-httpd-php5 if you are using php 5 or higher
</Files>

Điều này sẽ làm cho PHP thực thi chỉ trên tập tin "yourpage.html" và không phải trên tất cả các trang html của bạn mà sẽ ngăn chặn sự chậm lại trên toàn bộ máy chủ của bạn.

Về lý do tại sao một người nào đó có thể muốn phân phát php thông qua tệp html, tôi sử dụng hàm IMPORTHTML trong bảng tính google để nhập dữ liệu JSON từ url bên ngoài phải được phân tích cú pháp bằng php để dọn dẹp và tạo bảng html. Cho đến nay tôi đã không tìm thấy bất kỳ cách nào để nhập tệp .php vào bảng tính google để nó phải được lưu dưới dạng tệp .html để chức năng hoạt động. Có thể phục vụ php thông qua một tập tin .html là cần thiết cho việc sử dụng cụ thể.


3
2018-02-15 15:36





Để kết hợp HTML và PHP, bạn có thể sử dụng các tệp .phtml.


-3
2017-10-14 16:56