Как я могу добавить новую страницу в Symfony 4 без ошибки 404? - PullRequest
0 голосов
/ 12 апреля 2019

Я работаю над импортированным проектом на Symfony 4.2 с системой сборки Encore.

Я установил весь модуль и все работает нормально.

Но когда я хочу добавить новую страницу (рекветы), я всегда получаю ошибку 404.

Вот проект: https://github.com/LaboratoirePLH/ERC-MAP

  • PHP 7.2.11
  • PostgreSQL 9.6 с PostGIS 2.4
  • Symfony 4.2 с системой сборки Encore
  • Bootstrap 4.2
  • JQuery 3
  • ChosenJS для jQuery (поле со списком автозаполнения)
  • DataTables для jQuery (улучшенные таблицы данных)

Я работаю в PosteGre с Ларагоном.

Я пытался обеспечить mod_rewrite на apache2.

Я тоже пытался поместить файл .httaccess в public /, все еще не работает.

Я проверил маршрут с помощью "php bin / console debug: route", и она указана в списке

https://i.imgur.com/p4naU6Z.png (я не могу опубликовать изображение, мне нужно больше репутации)

The RequetesController.php:

/**
     * Page queries
     *
     * @Route("/requetes", name="requetes")
     */

     public function index(){

         return $this->render('requetes/index.html.twig');

     }

И веточка, в папке с реквизитами:

<html>
    <body>
        <h1>Hello {{ $requetes }}</h1>
    </body>
</html>

По ссылке "https://127.0.0.1:8000/requetes" я получил ошибку 404, а с" https://127.0.0.1:8000/" она работает.

Я новичок в Symfony, и мне очень нужна ваша помощь.

Ответы [ 3 ]

0 голосов
/ 12 апреля 2019

Каково содержимое вашего публичного файла / .htaccess? Не могли бы вы попробовать с этим, который приходит из рецепта Apache-Pack:

https://github.com/symfony/recipes-contrib/blob/master/symfony/apache-pack/1.0/public/.htaccess


РЕДАКТИРОВАТЬ:

Попробуйте переформатировать аннотации и действия следующим образом:

/**
 * Page queries
 *
 * @Route("/requetes", name="requetes")
 */
public function index()
{
    return $this->render('requetes/index.html.twig');
}
0 голосов
/ 12 апреля 2019

В каталоге вашего проекта создайте этот файл, если он не существует: project_dir / public / .htaccess и добавьте следующее содержимое в файл

<IfModule mod_rewrite.c>
    Options -MultiViews
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>

<IfModule !mod_rewrite.c>
    <IfModule mod_alias.c>
        RedirectMatch 302 ^/$ /index.php/
    </IfModule>
</IfModule>

0 голосов
/ 12 апреля 2019

То, что вы можете попробовать, это назвать вашу веточку так:

return $this->render('requetes');

если он существует, он должен отображать страницу. Если он существует, можете ли вы показать нам полное сообщение об ошибке?

...