2016-03-24 13 views
0

私のlaravel 5アプリケーションは公式の認証フレームワークを使用しています。ホームステイ/迷惑メール環境では、すべて正常に動作しますが、プロダクションサーバーにデプロイしようとすると認証機能は動作しません。たとえば、新しいユーザーを試して登録すると、フォームは自分自身にリダイレクトされ、ユーザーテーブルにエントリを作成します。Laravel 5 auth-register自身にリダイレクト

Homesteadの不具合者はnginxを実行しており、本番サーバはApache 2.4.6を実行しています(私は制御できません)。 mod_rewriteのが有効と公共/ .htaccessのは以下の通りです:

Options +FollowSymLinks 
RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule^index.php [L] 

私はlaravelとApacheのログをチェックしましたし、エラーがログに記録されません。

Apacheのバーチャルホストの設定が

<VirtualHost *:80> 
    ServerName example.com 

    ## Vhost docroot 
    DocumentRoot "/var/www/app/public" 


    <Directory /> 
    Options FollowSymLinks 
    AllowOverride All 
    </Directory> 

    ## Logging 
    ErrorLog "/var/log/httpd/laravel_error.log" 
    ServerSignature Off 
    CustomLog "/var/log/httpd/laravel_access.log" combined 
</VirtualHost> 

UPDATEです: はPHPの職人ルートからの私のルートリストの関連セクション:リストです:

|  | POST  | login      |     | App\Http\Controllers\Auth\[email protected]     | web,guest | 
|  | GET|HEAD | login      |     | App\Http\Controllers\Auth\[email protected]   | web,guest | 
|  | GET|HEAD | logout      |     | App\Http\Controllers\Auth\[email protected]     | web   | 
|  | POST  | password/email    |     | App\Http\Controllers\Auth\[email protected] | web,guest | 
|  | POST  | password/reset    |     | App\Http\Controllers\Auth\[email protected]    | web,guest | 
|  | GET|HEAD | password/reset/{token?}  |     | App\Http\Controllers\Auth\[email protected]  | web,guest | 
|  | POST  | register      |     | App\Http\Controllers\Auth\[email protected]    | web,guest | 
|  | GET|HEAD | register      |     | App\Http\Controllers\Auth\[email protected] | web,guest | 

と関連セクションroutes.phpファイルの内容は次のとおりです。

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

    Route::auth(); 
    ... 
} 

答えて

0

[OK]を解決することができました。ここで回答を共有します。

サイトでhttpsが実行されていて、登録フォームが問題の原因となっていたhttpルートに詳細を渡そうとしていたことがわかりました。

httpsとすべての作業でフォームを送信するように認証フォームを変更しました。

+0

あなたの答えに欠けていた重要な情報でした。あなたはそれを固定してうれしいです。 –

1

.htaccessファイルを最新バージョン(下記)にアップデートしてください。 URLの末尾にスラッシュが2番目のリダイレクトを引き起こしている可能性があります。

<IfModule mod_rewrite.c> 
    <IfModule mod_negotiation.c> 
     Options -MultiViews 
    </IfModule> 

    RewriteEngine On 

    # Redirect Trailing Slashes If Not A Folder... 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(.*)/$ /$1 [L,R=301] 

    # Handle Front Controller... 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule^index.php [L] 

    # Handle Authorization Header 
    RewriteCond %{HTTP:Authorization} . 
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] 
</IfModule> 
+0

Niraj、ありがとう - それを試み、問題を解決しませんでした。 – SimonH

関連する問題