Intereting Posts
Значение возвращается как Undefined mysql_ping зависает с Amazon RDS Есть ли лучшая практика только для частичной интеграции фреймворка PHP в подкаталог веб-сайта? Regex. Как получить слова после запятой Регулярное выражение для соответствия ключевому слову, если оно не заключено в фигурные скобки Получение наборов множественного результата с хранимой процедурой в php / mysqli Проверьте, закодирована ли строка как UTF-8 как динамически добавлять роли пользователей при входе в систему с помощью symfony2 (и fosUserBundle)? Что это означает, когда регулярное выражение окружено символами @? Замените конкретный цвет RGB другим изображением, используя PHP GLOBAL Array удаляется … – WP All Import function.php – PHP mail $ email = $ _POST в $ получателях Определите, существует ли комбинация записей «много ко многим» Как развернуть проект symfony без доступа к продукту SSH и CLI Сохранить mysql массив php

Что не так в развертывании этого приложения Laravel? Нужен ли я эффективный домен вместо vhost, используемый в моей локальной среде?

Я довольно новичок в PHP и, кроме того, в Laravel, и я довольно отчаянно пытаюсь развернуть приложение Laravel 5.4, которое отлично работает на моей локальной среде на моем удаленном сервере Linux.

Поэтому я думаю, что это связано с конфигурацией виртуального хоста или чем-то вроде этого (возможно, также связано с файлом .htaccess )

В моей локальной среде (я использую XAMPP в Windows) я установил этот виртуальный хост в файл C: \ xampp \ apache \ conf \ extra \ httpd-vhosts.conf :

<VirtualHost *:80> DocumentRoot "C:/xampp/htdocs/HotelRegistration/public" ServerName laravel.dev </VirtualHost> 

Поэтому, открыв URL-адрес laravel.dev, я получаю стандартную домашнюю страницу Laravel (я еще не заменил ее целевой страницей).

Затем, если я открою этот URL-адрес: http://laravel.dev/registration

Я получаю страницу регистрации пользователя, разработанную мной, потому что у меня есть этот маршрут в моем файле web.php в моем проекте:

 Route::resource('/registration', 'RegistrationController'); 

Затем в мой RegistrationController.php есть этот метод, показывающий представление ресурсов / views / registration / index.blade.php

 public function index(){ return view('/registration/index'); } 

Все работает нормально.

Теперь я загрузил этот веб-сайт Laravel на мой удаленный Linux-сервер в эту папку: / var / www / html / HotelRegistration

Но теперь моя проблема в том, что в этой удаленной среде у меня нет виртуального хоста (исправьте меня, если я делаю неправильное утверждение: из того, что я понял, виртуальный хост используется в локальной среде для имитации домена, который Laravel должен указывать на общедоступная папка, правильно ли это рассуждение?)

Во всяком случае, это URL-адрес общей папки моего развернутого веб-сайта на моем удаленном сервере:

http://89.36.211.48/HotelRegistration/public/

Как вы можете увидеть, открывая страницу назначения Laravel правильно, проблема в том, что я могу получить доступ к предыдущей странице регистрации , единственный способ, который я нашел, – открыть этот URL:

http://89.36.211.48/HotelRegistration/public/index.php/registration

но это довольно ужасно и, прежде всего, при регистрации регистрационной формы, он генерирует запрос POST по этому URL-адресу http://89.36.211.48/registration, который заканчивается ошибкой 404 Not Found .

Поэтому я думаю, что это зависит от того, что на этом удаленном сервере я не могу использовать виртуальный хост, который имитирует домен (как у меня есть в моей локальной среде), но я не уверен в этом.

Что я могу сделать, чтобы решить эту ситуацию? Считаете ли вы, что использование эффективного домена (что-то вроде www.myregistration.com) указывает на этот каталог моего удаленного сервера. Http://89.36.211.48/HotelRegistration/public/ Я могу решить эту проблему?