2017-05-09 90 views
0

我有一個角度的應用程序,在後端使用laravel。我使用正則表達式將大量網址發送到角度應用程序。一旦那裏,應用程序本身使用URL來顯示適當的模塊。Laravel路由查詢字符串到角

現在我試圖讓我的網站從其他網站接收輸入和輸入將要與查詢字符串,如URL的形式...

www.myurl.com/?thisId=23432&thisSection=4232 

我不能得到這個網址正確註冊爲一個發送到角度應用程序。 Laravel有沒有一種合適的方式來說明一個帶有查詢字符串的URL應該到達地址x?

這裏有一些事情,我到目前爲止已經試過......

Route::get('/?thisId', '[email protected]'); 
Route::get('/\?thisId', '[email protected]'); 

Route::get('/{any?}', '[email protected]')->where('any', '^(?thisId[0-9a-zA-Z\=]'); 
Route::get('/{any?}', '[email protected]')->where('any', '^(\?thisId[0-9a-zA-Z\=]'); 

不知道現在什麼嘗試。有關如何處理這個問題的任何建議?

+0

* I C annot得到這個URL正確註冊爲一個發送到角應用程序* - 你是如何「發送」到角?..? –

+0

有幾條路由被髮送到單頁角度應用的URL。這是爲了防止用戶在其中一個URL中輸入網站。一旦在應用程序中,一切都以不同方式處理。 –

+0

是你控制範圍之外的laravel部分?另外,只是一個側面說明'www.myurl.com/?thisId = 23432&thisSection = 4232'可以將** url重寫入'www.myurl.com/this/23432/thisSection = 4232',因爲實際上大多數php的實現仍然接受基於查詢字符串的請求,而斜槓來自url重寫。 –

回答

0

Laravel Route參數方案是不是這樣:

www.myurl.com/?thisId=23432&thisSection=4232 

它是這樣工作:

www.myurl.com/thisId/23432/thisSection/4232 

而且這個路線是這樣的:

Route::get('thisId/{thisId}/thisSection/{thisSection}', function ($thisId, $thisSection) { 
    // 
}); 

Reference

+0

欣賞幫助,但網址來自外部來源。我沒有控制它的結構,它有一個上面描述的形式的查詢字符串。 –

+0

@JoshuaFoxworth你的意思是來自外部來源*或許你可以詳細闡述你的設置/案例。 –

+0

一個單獨的網站在iframe中從我的網站中拉出一個頁面。要確定要顯示的正確頁面,他們會將查詢字符串URL發送到我的網站。我無法更改此 –

0

它應該是這樣..

URL

www.myurl.com/thisId/123 

ROUTES

Route::get('/thisId/{id?}', '[email protected]')->where('id', '[0-9a-zA-Z\=]'); 

控制器

public function mainApp($thisId='defaultifnoinput') 
{ 
    // do some thing with $thisId; 
} 
+0

感謝幫助,但URL來自外部來源。按照您描述的方式設置我的網站時,傳入的網址具有查詢字符串。 –