Задать вопрос
@AleDv

Как избавиться от public/index.php в URL Laravel?

Есть URL вида site.ru/category, после загрузки проекта на хостинг, заметил, что яндекс начал индексировать URL такиого вида: site.ru/public/index.php/category.

В корне лежит .htaccess
<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteRule ^(.*)$ public/$1 [L]
</IfModule>


В public htaccess такой:
<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    RewriteEngine On

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)/$ /$1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]

    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>


Пока только пришло в голову, что нужно сделать редирект c адресов, содержащих public/index.php на урлы без него, но как это сделать - не знаю. Подскажите, как решить такую проблему?
  • Вопрос задан
  • 1728 просмотров
Подписаться 1 Оценить Комментировать
Ответ пользователя Антон Измайлов К ответам на вопрос (3)
@WapGeaR
Программист
Эм, я могу ошибаться, но нужно в конфиге вэб сервера корнем указывать не laravel-directory, а laravel-directory/public
Ответ написан
Комментировать