簡體   English   中英

URL和Rails路由系統中的雙斜杠

[英]Double slashes in URL and rails route system

在我的Rails應用程序中,兩個URL如

http://myurl/foo/bar
http://myurl/foo//bar

以相同的方式處理。 從Rails忽略斜線之間包含的空屬性是很聰明的,但是當我將所有內容與前端Javascript框架鏈接時,這將成為一個問題; 我的前端路由系統因此而崩潰。

我認為,這應該被Rails理解為URL中的一個問題,因為它看起來更加嚴格和合乎邏輯。

因此,當routes.rb在路徑中檢測到//時,我想簡單地將用戶重定向到首頁; 這怎么可能 ?

謝謝 ;)

編輯:

我嘗試過這種事情

match ':url' => redirect('/'), :constraints => { url: /\/+/ }, via: [:get, :post]

而且它不起作用,似乎是在Rails首先操縱絕對URL或類似的東西之后讀取了路由文件...

我會嘗試編寫一個正則表達式來驗證路由,然后再將其傳遞到特定控制器以處理該路由。 如果驗證證明該網址無效,它將重定向到本地路由

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM