Symfony проект работает только на домашней странице. Когда я перехожу на другие страницы Apache возвращает 404 - PullRequest
0 голосов
/ 24 марта 2020

А есть проект symfony5. При размещении на сервере я изменил путь к хосту по умолчанию с https://example.com на https://example.com/public, поскольку index. php находится в папке / publi c. С тех пор мой сайт работает только на главной странице. Когда я перехожу на другие страницы, Apache возвращает 404. «Запрошенный URL / био / не найден на этом сервере». Все работает на локальном хосте, но не на хосте.

1 Ответ

0 голосов
/ 25 марта 2020

Вы должны изменить Документ Root на Apache, чтобы он указывал на папку publi c, и, следовательно, URL будет указывать на папку publi c без ее присутствия в вашем URL.

Вот пример VirtualHost Apache, позволяющий вам прослушать URL-адрес website.lo c и указать папку publi c, связанную с этим сайтом (она может быть неполной):

<VirtualHost *:80>
    DocumentRoot "/path/to/website/public/" 
    ServerName webiste.loc
    DirectoryIndex index.php

    ErrorLog "/var/log/httpd/error_log"
    CustomLog "/var/log/httpd/access_log" common


    <Directory "/path/to/website/public/">
        AllowOverride none
        Order allow,deny
        Allow from all
        <IfModule mod_rewrite.c>
            Options -MultiViews
            RewriteEngine On
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteRule ^(.*)$ index.php [QSA,L]
        </IfModule>
    </Directory>
</VirtualHost>

Если это не работает, можете ли вы дать нам конфигурацию вашего VirtualHost на Apache? Остерегайтесь конфиденциальной информации, которая может присутствовать.

...