Разработайте проект в laravel и загрузите его на сервер с IIS, и когда я пытаюсь использовать пути, которые я определил, я получаю ошибку 400, но не ошибку 400 laravel, если нет другой, поискав в Интернете, я обнаружил, что это из-за проблема с конфигурацией, отсутствует эта строка кода
AllowOverride All
Обычно эта строка включается при создании виртуального сервера на моем компьютере, но в ISS я не знаю, как ее решить.
http://186.24.32.115/web-spi/public - если я введу этот URL, я загружу веб-страницу хорошо, но если я воспользуюсь меню, я оставлю ошибку 400.
Но если я сделаю это так http://186.24.32.115/web-spi/public/index.php, у меня не будет проблем.
Как заставить мои маршруты работать без использования index.php?
Windows Server 2012 R2 - IIS 8
Может это: docs.microsoft.com/en-us/iis/extensions/url-rewrite-module/… или это: stackoverflow.com/questions/15018538/… вам поможет?
Убедитесь, что параметр Physical Path
для вашего веб-сайта в диспетчере IIS заканчивается папкой public/
вашего приложения, в противном случае правила перезаписи по умолчанию, включенные для web.config, могут не работать должным образом при перезаписи запросов в файл index.php.
@TravisBritz В какой части администратора я могу это проверить?
@EdwinAquino у вас есть доступ к программе IIS Manager для вашего хоста? В Sites > {your site}
вы должны увидеть параметр «Основные настройки ...» в разделе «Действия» правой боковой панели. Есть и другие способы найти этот параметр, но вы ищете параметр Physical Path
, который сообщает IIS, какая папка является корнем общедоступных документов вашего веб-сайта. Если ваш проект Laravel находится в папке web-spi/
, то ваш Physical Path
должен заканчиваться ... web-spi/public/
.
Я изменил маршрут и оставил его для публики, и пока он работает, спасибо
Какую версию IIS вы используете на какой версии сервера?