无法找到openshift项目中的子目录

时间:2014-04-02 18:42:25

标签: openshift

我使用php openshift项目构建了一个站点,并通过http works fine访问了根目录。但是,所有根目录都给我找不到404,如下所示:http://test.toppagedesign.com/sites/

我使用ssh进行了检查,/app-root/repo/sitesapp-deployments/current/repo/sites/都存在。

修改 添加了一个名为php的目录,现在我的所有内容都有503个错误......

编辑2

我删除了php目录,现在503错误消失了。但是,我仍然会在子目录中收到404错误。

这是我的目录树:http://pastebin.com/hzPCsCua

我确实使用git来部署我的项目。

2 个答案:

答案 0 :(得分:1)

php是您可以使用的备用文档根之一,请参阅此处的March Release博客文章(https://www.openshift.com/blogs/openshift-online-march-2014-release-blog

对于不起作用的子目录,你可以ssh到你的服务器并使用"树"命令发布项目的目录/文件结构?您是否还使用Git直接在服务器上部署项目或编辑文件?

你需要在你想要工作的任何目录中有一个index.php或index.html文件,如app-domain.rhcloud.com/sites,如果你只有子目录,它怎么知道要显示什么?此外,出于安全原因,未启用索引(显示文件夹内容),我相信无法启用它。

答案 1 :(得分:1)

这听起来可能是您如何提供静态内容的问题。

我最近为OpenShift创建了一个new sample app,其中包括:

  1. a basic static folder
  2. .htaccess file(用于投放生产中的资产)
  3. support for using php's local server to handle the static content (in your dev environments)
  4. 作曲家和Silex - a great starting point for most new PHP apps
  5. 如果您的开发环境中有PHP-5.4(或更高版本),您可以在本地为项目提供服务:

    php -S localhost:8080 -t static app.php
    

    对于在同一基础上构建的更高级的项目,请查看this PHP+MongoDB mapping example。我也写了a blog post with some notes on my process for composing that app

    希望这些例子有所帮助!