У меня есть сайт, который работает на том же сервере в другом URL-адресе (этап), но теперь я развернул сайт, а базовый url («/») перенаправлен на URL-адрес входа (так что laravel – это своего рода работа) , но затем я получаю ошибку 404 от apache.
Если я использую sub.domain.com/index.php/route, он работает, но если я использую перенаправление sub.domain.com/route на маршрут входа и выдает ошибку 404.
Я также изменил route.php, чтобы вернуть вид входа в маршрут «/», и он правильно отобразит форму входа.
После добавления
AllowOverride All
к конфигурации vhost, заставил ее работать. Вероятно, настройка по умолчанию не позволяла перенаправлять?
Вот моя окончательная (и работающая) конфигурация vhost:
DocumentRoot /var/www/sitefolder/public ServerName site.domain.com <Directory /var/www/sitefolder/public> AllowOverride All allow from all Options +Indexes </Directory>
Проблема может возникнуть в модуле на вашем сервере Apache, называемом модулем перезаписи. в окнах вы можете просто раскомментировать эту строку из своего httpd.conf
#LoadModule rewrite_module modules/mod_rewrite.so
Я запускаю Ubuntu 14.04 и включил его, используя
sudo a2enmod rewrite
Попробуйте выполнить перезапуск Apache. Это может сработать и для вас.
Для VirtualHost
Добавляйте эти строки только в httpd.conf
вашего apache:
<Directory /var/www/sitefolder/public> AllowOverride All allow from all Options +Indexes </Directory>
Или вы можете заменить первую строку:
<Directory />
И если все не работает, вы можете попробовать:
<Directory /> Options FollowSymLinks AllowOverride All Require all granted </Directory>