Попытка удалить index.php из URL - PullRequest
0 голосов
/ 03 мая 2019

** Я работаю на защищенном веб-сервере Apache, размещенном на Ubuntu-сервере. 16.04

Я отправляю на prod свой первый проект на symfony, и с тех пор у меня все получилось. Я пытаюсь переписать URL, поэтому, когда я хочу перейти на панель управления проектом, URL будет "../dashboard/" вместо (на самом деле так) "../index.php/dashboard/"

Но когда я пытаюсь перейти по этому URL-адресу, сервер перенаправляет меня из приложения Symfony и выдает базовую ошибку apache 404, а не ошибку, обработанную Symfony.

Я думаю, что это можно отредактировать в файле .htaccess, но я не могу выяснить, как заставить его выполнять все URL как маршруты Symfony, это мой вопрос.

Попробовал несколько кодов, найденных в Google

Htaccess

DirectoryIndex index.php
<IfModule mod_negotiation.c>
    Options -MultiViews
</IfModule>

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
    RewriteRule ^(.*) - [E=BASE:%1]
    RewriteCond %{HTTP:Authorization} .
    RewriteRule ^ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    RewriteCond %{ENV:REDIRECT_STATUS} ^$
    RewriteRule ^index\.php(?:/(.*)|$) %{ENV:BASE}/$1 [R=301,L]
    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule ^ - [L]
    RewriteRule ^ %{ENV:BASE}/index.php [L]
</IfModule>

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

1 Ответ

0 голосов
/ 07 мая 2019

Вам нужно включить apache rewrite.Выполните следующие действия: В терминале используйте следующие команды:

$sudo a2enmod rewrite

Изменить AllowOverride в файле Apache Conf:

$sudo nano /etc/apache2/apache2.conf

Измените AllowOverride с None на All в этом блоке

<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

Наконец, перезапустите apache2

$sudo service apache2 restart
...