是否可以将index.html推送到heroku?

时间:2014-05-09 12:18:25

标签: php html heroku

我使用名为index.html的索引文件开发了一个纯前端应用程序。每次我推送到heroku,我需要将其重命名为index.php,以告诉heroku使用php。有没有其他方法来声明我想要什么类型的服务器?这样我就可以将文件保存为html文件了吗?

3 个答案:

答案 0 :(得分:5)

您也可以将空composer.json放入项目中,以使Heroku将您的项目视为PHP项目。

index.php优先于index.html来自Apache在Heroku上使用的默认DirectoryIndex指令;它与您的浏览器无关。要更改它,您可以将.htaccess DirectoryIndex index.html放入您的应用程序。

如果您只想要静态网站的原始性能,那么使用Nginx也是个好主意。默认配置应该合理用于您的目的,因此向您的项目添加Procfileweb: vendor/bin/heroku-php-nginx以及空composer.json(并且没有index.php)并且你很好去。

另请参阅https://devcenter.heroku.com/articles/php-supporthttps://devcenter.heroku.com/articles/custom-php-settings了解详情。

答案 1 :(得分:2)

您可以使用node.js;

执行简单的ExpressJS应用

假设您的项目文件夹有一个名为public的子文件夹,

var express = require('express');
var app = express();
app.use('/', express.static(__dirname + '/public'));
var port = Number(process.env.PORT || 5000);
app.listen(port, function() { 
    console.log('Your files will be served through this web server')
});

将此代码保存在app.js中,将您的静态文件放在public文件夹下,并准备Procfile

最终文件夹结构将是;

yourproject
--public/
----your staticfiles
--app.js
--Procfile

Procfile将是;

web: node app.js

部署您的项目。当您请求静态文件时; .../index.htmlindex.html将在公共文件夹

下投放

答案 2 :(得分:-1)

添加一个名为index.php的空文件,这将由heroku使用,但index.html将由浏览器确定优先级。