Объект не найден! Запрашиваемый URL не найден на этом сервере. Если вы ввели URL-адрес вручную, проверьте правильность написания и повторите попытку. - PullRequest
0 голосов
/ 12 января 2020

Я следую инструкциям по созданию http-сервера с использованием Apache, Xampp, slim и php.
Я привык к javaScript и Express, поэтому я ' Я немного потерян здесь.

Вот как организована папка:
enter image description here

пользователь. php

<?php
$app->get('/app/test', function (Request $request) {
 echo "hello world";
});
?>

приложение. php

<?php
require __DIR__ . '/../vendor/autoload.php';
use Slim\Factory\AppFactory;
$app = AppFactory::create();
include __DIR__ . '/../app/user.php';
?>

.htaccess

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [QSA,L]

index. php

<?php
require __DIR__ . '/../bootstrap/app.php';
$app->run();
?>

Чтобы проверить это, я набираю

http://localhost/friendster/app/test

И вот что я получаю:
enter image description here ПРИМЕЧАНИЕ: Сервер Apache работает правильно:
enter image description here
Есть идеи, что я сделал не так?

Ответы [ 2 ]

0 голосов
/ 14 января 2020

Я решил проблему, просто начав с нуля и использовав Скелет приложения Slim Framework 4 и следуя официальному учебному пособию для создания первого приложения.

Обязательно установите приложение, используя команды, упомянутые в репозитории github, НЕ ВРУЧНУЮ , иначе вы столкнетесь с проблемой, с которой я столкнулся здесь :

Сделайте так:

composer создание проекта slim / slim-skeleton [my-app-name]

и затем:

cd [my-app-name] composer start

И у вас будет что-то вроде этого:

enter image description here

Результат таков:
enter image description here

0 голосов
/ 12 января 2020

Создайте второй .htaccess файл в вашем проекте root -директория и скопируйте / вставьте это содержимое:

RewriteEngine on
RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]

Второй .htaccess файл важен для запуска приложения Slim в подпрограмме -каталог и в вашей среде разработки.

После $app = AppFactory::create(); добавьте эту строку:

$app->setBasePath('/friendster');

Slim 4 - Apache Перезапись URL

...