#laravel-8 #laravel-routing
Вопрос:
Я столкнулся с проблемой, связанной с тем, что веб-сайт не работает должным образом.[Файл проекта загружен в подпапку]. Путь к папке : example.com->public_html->>lrvпроект Пожалуйста, обратите внимание на следующие проблемы:
- Домашняя страница — Ошибка Сервера 500. https://www.example.com/lrvproject/
- Открываются подстраницы — я вручную ввожу путь к странице, на которой отображается страница. Пример: https://www.example.com/lrvproject/contact
- После загрузки подстраниц отображается URL-адрес ссылки меню «https://www.example.com/contact».
Я обратился к учебнику внутри общедоступной папки(скопируйте все файлы в папку и вставьте за пределы общей папки).
index.php [https://www.example.com/lrvproject/index.php]
if (file_exists(__DIR__.'/../storage/framework/maintenance.php')) {
require __DIR__.'/../storage/framework/maintenance.php';
}
require __DIR__.'/../lrvproject/vendor/autoload.php';
$app = require_once __DIR__.'/../lrvproject/bootstrap/app.php';
$kernel = $app->make(Kernel::class);
$response = tap($kernel->handle(
$request = Request::capture()
))->send();
$kernel->terminate($request, $response);
web.php (маршруты)
use IlluminateSupportFacadesRoute;
//use AppHttpControllersUserAuthController;
Route::get('/','HomeController@index');
Route::get('/about', function () {
return view('pages/about');
});
Route::get('/gallery','ImageGalleryController@index');
Route::get('/contact','ContactController@index');
Route::post('/contact','ContactController@sendmail');
server.php [https://www.example.com/lrvproject/server.php]
$uri = urldecode(
parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH)
);
if ($uri !== '/' amp;amp; file_exists(__DIR__.'/public'.$uri)) {
return false;
}
require_once __DIR__.'/public/index.php';
//require_once __DIR__.'/index.php';
.htaccess [https://www.example.com/lrvproject/.htaccess]
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
# Disable Directory listing
Options -Indexes
# block files which needs to be hidden, specify .example extension of the file
<Files ~ ".(env|json|config.js|md|gitignore|gitattributes|lock)$">
Order allow,deny
Deny from all
</Files>
RewriteEngine On
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (. )/$
RewriteRule ^ %1 [L,R=301]
# Send Requests To Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
Уже включено разрешение на папку сервера. Включены расширения PHP.
Как решить эту проблему. пожалуйста, помогите.
Ответ №1:
Я решил эту проблему. Я обновил следующие шаги.
- информация о базе данных файлов .env обновлена, теперь моя домашняя страница работает.
- index.php [https://www.example.com/lrvproject/index.php] -Редактировать
требуется РЕЖ. ‘/vendor/autoload.php’; $app = require_once РЕЖ.’/bootstrap/app.php’;
- Ссылки на веб-меню URL-Редактировать
href=»/lrvproject/контакт» обновление пути к ссылке «Свяжитесь с нами»
- Очистить кэш на сервере
- Мое приложение Laravel, запущенное на сервере (каталог вложенных папок)