【问题标题】:Routing issue while hosting application on Nginx with Ubuntu使用 Ubuntu 在 Nginx 上托管应用程序时出现路由问题
【发布时间】:2016-03-08 13:28:51
【问题描述】:

我在安装在 Windows 8 环境中的 XAMPP 上开发了 Laravel 5.1 应用程序。现在我想使用安装在 Ubuntu 14 环境中的 Nginx 来部署它。

我已经执行了https://www.digitalocean.com/community/tutorials/how-to-install-laravel-with-an-nginx-web-server-on-ubuntu-14-04 中提到的所有配置。我可以访问所有站点路由,例如首页,关于,联系没有任何问题。

但是在访问 auth 路由时出现问题。例如当我点击登录时,它会被重定向到分析/销售,并出现“InvalidArgumentException incompiled.php”错误,指出“未找到查看 [analytics.sales.index]。”

Windows 8 环境并非如此,应用程序可以在 Windows 8 上完美运行。

我的路线文件:

<?php

/****************   Model binding into rout  ********************/

Route::model('user', 'App\User');
Route::pattern('id', '[0-9]+');
Route::pattern('slug', '[0-9a-z-_]+');

/***************    Site routes  **********************************/
Route::get('/', 'HomeController@index');
Route::get('home', array('as' => 'home' , 'uses' =>    'HomeController@index'));
Route::get('about', array('as' => 'about', 'uses' =>'PagesController@about'));
Route::get('contact', array('as' => 'contact', 'uses' =>  'PagesController@contact'));


 Route::controllers([
'auth' => 'Auth\AuthController',
'password' => 'Auth\PasswordController',
]);


 /***************    Admin routes  **********************************/
 Route::group(['prefix' => 'admin', 'middleware' => 'auth'], function()   
{

  # Admin Dashboard
  Route::get('dashboard', 'Admin\DashboardController@index');


  # Users
  Route::get('user/data', 'Admin\UserController@data');
  Route::get('user/{user}/show', 'Admin\UserController@show');
  Route::get('user/{user}/edit', 'Admin\UserController@edit');
  Route::get('user/{user}/delete', 'Admin\UserController@delete');
  Route::resource('user', 'Admin\UserController');
  });

  Route::group(['prefix' => 'analytics'], function() {

  # Analytics Dashboard
  Route::get('/', 'Analytics\Dashboard\DashboardController@index');
  Route::get('dashboard/',       'Analytics\Dashboard\DashboardController@index');


  Route::get('sales',     array('uses'=>'Analytics\Sales\SalesController@index'));
  Route::post('carDetails', array('uses'=>'Analytics\Sales\SalesController@getCarDetails'));
  Route::post('modelsales', array('uses'=>'Analytics\Sales\SalesController@getModelSales'));
  Route::post('makesales', array('uses'=>'Analytics\Sales\SalesController@getMakeSales'));


 });

Auth控制器代码sn-p:

<?php

 namespace App\Http\Controllers\Auth;

 use App\User;
 use Validator;
 use Illuminate\Http\Request;
 use App\Http\Controllers\Controller;
 use Illuminate\Foundation\Auth\ThrottlesLogins;
 use Illuminate\Foundation\Auth\AuthenticatesAndRegistersUsers;

 class AuthController extends Controller
 {
     use AuthenticatesAndRegistersUsers, ThrottlesLogins;

    public function __construct()
    {
       $this->middleware('guest', ['except' => 'getLogout']);
    }

    protected function validator(array $data)
    {
         return Validator::make($data, [
        'firstname' => 'required|max:255',
        'lastname' => 'required|max:255',
        'username' => 'required|max:255',
        'email' => 'required|email|max:255|unique:users',
        'designation' => 'required|max:255',
        'organisation' => 'required|max:255',
        'contact' => 'required|max:255',
        'password' => 'required|confirmed|min:6',
     ]);
   }

   protected function create(array $data)
   {

     $confirmation_code = md5(microtime() . env('APP_KEY'));
     return User::create([
        'firstname' => $data['firstname'],
        'lastname' => $data['lastname'],
        'username' => $data['username'],
        'email' => $data['email'],
        'designation' => $data['designation'],
        'organisation' => $data['organisation'],
        'contact' => $data['contact'],
        'password' => bcrypt($data['password']),
        'confirmation_code' =>$confirmation_code
    ]);
  }

 }

是否需要特定于 Nginx/Ubuntu 的路由配置?这个问题的根本原因是什么?

【问题讨论】:

    标签: php laravel ubuntu nginx


    【解决方案1】:

    您的身份验证控制器可能在某处的 url 中有重定向尝试注销 /auth/logout 并重新登录,看看您是否被重定向。

    【讨论】:

    • 我的身份验证控制器中没有重定向路由。我在上面的帖子中添加了我的 Auth 控制器代码 sn-p。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-29
    • 2021-05-09
    • 2020-08-02
    • 1970-01-01
    • 2019-03-19
    • 1970-01-01
    相关资源
    最近更新 更多