带有自定义htaccess文件的HostGator上的PHP Slim3

带有自定义htaccess文件的HostGator上的PHP Slim3,php,apache,.htaccess,mod-rewrite,Php,Apache,.htaccess,Mod Rewrite,我正试图在HostGator帐户上部署一个SlimPHP框架 我的项目源代码如下所示: project/ ├── .htaccess ├── src/ │ ├── classes/ │ ├── vendor/ │ ├── composer.json │ ├── routes.php │ ├── settings.php │ └── index.php └── public/ ├── index.php └── .htaccess 并且以相同的方式部署,其

我正试图在HostGator帐户上部署一个
Slim
PHP框架

我的项目源代码如下所示:

project/
├── .htaccess
├── src/
│   ├── classes/
│   ├── vendor/
│   ├── composer.json
│   ├── routes.php
│   ├── settings.php
│   └── index.php
└── public/
    ├── index.php
    └── .htaccess
并且以相同的方式部署,其中
项目
文件夹是我的HostGator帐户上的最高级别文件夹,其中包含
public_html
等内容

之后,我将一个
htaccess
添加到
public
中(逐字逐句)

同时,我还在某个地方将其添加到根
htaccess
文件中(该文件还包括一个使用PHP7的设置,该设置有效..)


已将
public
移动到
public\u html

htaccess
文件恢复为正常状态(即无)

公共
htaccess
文件


重新启动发动机
#重写基/
重写cond%{REQUEST_FILENAME}-D
重写cond%{REQUEST_FILENAME}-F
重写规则。index.php[QSA,L]

你是否100%确定你的主机启用了
mod_rewrite
功能?是的,你的应用程序在本地运行吗?你能把
index.php
文件的代码发布到你的
public
文件夹中吗?我已经把它添加到了问题中,而且我没有本地测试,所以你从来没有测试过你的应用程序或看到它在工作……那么我的第一个假设是你的代码不工作,你的问题与你的
.htaccess
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php [L]
<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteBase /
   RewriteRule ^$ public/     [L]
   RewriteRule (.*) public/$1 [L]
</IfModule>
require __DIR__ . '/../src/vendor/autoload.php';
require __DIR__ . '/../src/dependencies.php';
require __DIR__ . '/../src/middleware.php';
require __DIR__ . '/../src/routes.php';
$settings = require __DIR__ . '/../src/settings.php';

use \Psr\Http\Message\ServerRequestInterface as Request;
use \Psr\Http\Message\ResponseInterface as Response;

// require custom classesw
spl_autoload_register(function ($classname) {
    require ("../src/classes/" . $classname . ".php");
});

session_start();

$app = new \Slim\App($settings);

$container = $app->getContainer();
$container['logger'] = function($c) {
    $logger = new \Monolog\Logger('my_logger');
    $file_handler = new \Monolog\Handler\StreamHandler("../src/logs/app.log");
    $logger->pushHandler($file_handler);
    return $logger;
};



$app->get('/', function (Request $request, Response $response) {
    $response->getBody()->write("Hello");
    return $response;
});
$app->run();