Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

552
Visualizações
PHP Slim4 on Apache2 gives HttpNotFoundException

Links I've seen include:

https://akrabat.com/running-slim-4-in-a-subdirectory/

https://discourse.slimframework.com/t/slim-4-httpnotfoundexception/3273/18

and some others

I'm trying to setup a Slim4 project on apache2. But trying to access it gives me the error

PHP Fatal error: Uncaught Slim\Exception\HttpNotFoundException: Not found....

I have my index file in /var/www/html/_projects/work/calc1/src.

The following is my calc.conf in /etc/apache2/sites-available:

<VirtualHost *:80>
    ServerName calc.mrid.local
    ServerAlias calc.mrid.local

    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html/_projects/work/calc1/src

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

This is my .htaccess located in src directory

RewriteEngine On
RewriteBase /_projects/work/calc1/src/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [QSA,L]
RewriteRule ^(.*)\.html$ /$1 [L,R=301]

My index.php looks like this:

// use and require statements...

$container = new Container();
AppFactory::setContainer($container);

$container->set('view', function() {
    return \Slim\Views\Twig::create(__DIR__ . '/public/templates');
});

$app = AppFactory::create();

// even without this line it doesn't work
$app->setBasePath("/_projects/work/calc1/src"); 

$app->add(TwigMiddleware::createFromContainer($app));

// my routes....

$app->run();

Has anyone worked with Slim4 on Apache2? If yes, can you please guide me ?

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

The src/ directory is actually only meant for the PHP classes and must not be accessible to the web. The apache DocumentRoot should point to the public/ directory which contains your front controller public/index.php. Take a look at the Standard PHP package skeleton. More details about Slim and apache can be found in this Slim 4 Tutorial.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda