gpt4 book ai didi

php - 运行 Laravel 应用程序时在此服务器上找不到请求的 URL

转载 作者:太空宇宙 更新时间:2023-11-04 10:25:16 33 4
gpt4 key购买 nike

我在部署 Laravel 5.3 应用程序时遇到问题。

我收到一条错误消息,指出在服务器上找不到我的路线。令人惊讶的是,我能够毫无问题地进入欢迎页面,但如果我尝试点击注册按钮或任何其他途径,我会收到此错误。

我在 digital ocean 上使用 linux 16.04 服务器,在本地主机上一切正常。我尝试了多种解决方案,但似乎没有任何效果。非常感谢任何帮助。

我的路线文件

Auth::routes();

Route::get('/', function () {
return view('login');
})->name('login');

Route::get('/login', function () {
return view('login');
});

Route::get('auth/{provider}', 'Auth\RegisterController@redirectToProvider')->name('auth');
Route::get('auth/{provider}/callback', 'Auth\RegisterController@handleProviderCallback');

Route::group(['middleware' => ['auth']], function(){

//Tasks
Route::get('/task', 'TaskController@index');
Route::get('/task/{taskId}/{notification?}', 'TaskController@view');
Route::get('/create-task', 'TaskController@create');
Route::get('/close-task/{taskId}', 'TaskController@finaliseTask');
Route::post('/reinitialise-task/{taskId}', 'TaskController@reinitialiseTask');

Route::post('/task', 'TaskController@store');
Route::post('/task/comment/{taskId}', 'TaskController@postTaskComment');

//Reports
Route::get('/reports', 'ReportsController@view');
Route::get('/create-report/task/{taskId?}', 'ReportsController@generateReport');

//Settings
Route::get('/settings', 'SettingsController@index');
Route::post('/category', 'SettingsController@storeTaskCategory');

});

我可以访问登录路径,但无法访问任何其他路径。

我已经设置了我的虚拟主机,如下所示。

<VirtualHost *:80>

ServerAdmin info@myemail.com
ServerName mydomain.name.com
ServerAlias www.mydomain.name.com
DocumentRoot /var/wwww/html/public
ErrorLod ${APACHE_LOG_DIR}/error.log
CustomLog ${Apache_LOG_DIR}/access.log combined

<VirtualHost>

我也希望有一个解决方案不会强制我四处移动文件,因为这样做最终会破坏 Composer 和 artisan 。

最佳答案

为了让您的 .htaccess 接管并通过 Laravel 处理路由,您需要告诉您的虚拟主机允许它的配置被覆盖(通过 .htaccess 文件)。

<VirtualHost *:80>

ServerName mysite.com
DocumentRoot "/var/www/mysite/public"

<Directory "/var/www/mysite/public">

Options Indexes FollowSymlinks MultiViews
AllowOverride All
Require all granted

# ADD THIS IF USING PHP-FPM
<FilesMatch "\.php$">
Require all granted
SetHandler proxy:fcgi://127.0.0.1:9000
</FilesMatch>

</Directory>

</VirtualHost>

AllowOverride All 值告诉 Apache 应用程序可以修改 vhost 配置。

如果您在 output of apachectl -M 中没有看到 mod_rewrite ,您需要启用它:

sudo a2enmod rewrite

确保在进行任何这些更改后重新加载 Apache:

sudo service apache2 reload

关于php - 运行 Laravel 应用程序时在此服务器上找不到请求的 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41900774/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com