Как заставить php фронт-контроллер анализировать страницу в подкаталоге - PullRequest
0 голосов
/ 07 марта 2020

Работающий сайт с жестким кодом PHP на хосте Cpanel переносится (медленно, потому что я системный администратор, а не кодер) на Google App Engine.

Работают ли страницы первого уровня и страницы root уровня , но страницы в подкаталогах не работают.

GAE PHP 7.2 хочет, чтобы все запросы поступали через созданный мной фронт-контроллер, и пытался настроить страницы сайта на страницах уровня root (не в подкаталоги) возвращаются правильно, страницы в подкаталогах - нет.

Я перепробовал все комбинации начальных косых черт, не ведущих et c.

Я подозреваю, что мне нужно разрешить функцию parse url обрабатывать косые черты, но я немного догадываюсь.

Любые советы?

my-front-controller. php

<?php

switch (@parse_url($_SERVER['REQUEST_URI'])['path']) {
    case '/':
        require 'index.php';
        break;

    case '/contact-us':
        require 'contact-us.php'; 
        break;
#above case works - it is at root level#

#all below do not work#

    case 'a-page/in-a-subdirectory':
        require '/a-page/in-a-subdirectory.php';
        break;

    case '/why-choose-this-page/in-this-subdirectory':
        require '/why-choose-this-page/in-this-subdirectory.php';
        break;                
    default:
        http_response_code(404);
        exit('Not Found');

}

?>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...