2014-05-23 39 views
1

我正在設置OAuth2回調,Laravel似乎剝離了通過URL傳遞的所有參數(aka GET)。這包括Input::get(),Input::all(),以及一般PHP $_GET甚至$_SERVER['QUERY_STRING']

我最初的反應是一個Nginx配置錯誤。但是我能夠安裝在我的laravel測試PHP文件/ public目錄,其簡單地說就是:

<?php var_dump($_GET) 

擊中/test.php?code=123456ABCD生成單個值陣列的預期轉儲。

然後,在Laravel路線,創建,

Route::get('/testcallback', function(){ 
    var_dump(Input::all()); 
}); 

擊中/testcallback?code=123456ABCD生成一個空數組的傾倒。

有沒有我在做我的配置或路線,會導致Laravel去除GET參數?

謝謝。

+0

http://stackoverflow.com/questions/21552604/how-to-define-a-laravel-route-with-a-parameter-that-c​​ontains-a-slash-character –

+0

的http:// forumsarchive.laravel.io/viewtopic.php?id=5447 –

+0

@Kapilgopinath這些鏈接的含義是什麼?你讀過你發佈的第一個嗎? OP的問題中「URL的斜線」在哪裏? –

回答

2

這畢竟是Nginx。發現我的站點之間的符號鏈接 - 可用的和啓用站點的主機已經斷開,並且query_string問題的(有據可查的)解決方案沒有流過。

try_files $uri $uri/ /index.php?$query_string; 

這是通過簡單地刪除啓用站點的站點並重新鏈接它,然後重新啓動Nginx來修復的。

sudo rm /etc/nginx/sites-enabled/{site-name} 
sudo ln -s /etc/nginx/sites-available/{site-name} /etc/nginx/sites-enabled/{site-name} 
sudo nginx -t 
sudo service nginx reload