{"action":"created","issue":{"url":"https://api.github.com/repos/mitsuhiko/flask/issues/1323","labels_url":"https://api.github.com/repos/mitsuhiko/flask/issues/1323/labels{/name}","comments_url":"https://api.github.com/repos/mitsuhiko/flask/issues/1323/comments","events_url":"https://api.github.com/repos/mitsuhiko/flask/issues/1323/events","html_url":"https://github.com/mitsuhiko/flask/issues/1323","id":54824708,"number":1323,"title":"Extra slashes causes route error","user":{"login":"robnagler","id":5495179,"avatar_url":"https://avatars.githubusercontent.com/u/5495179?v=3","gravatar_id":"","url":"https://api.github.com/users/robnagler","html_url":"https://github.com/robnagler","followers_url":"https://api.github.com/users/robnagler/followers","following_url":"https://api.github.com/users/robnagler/following{/other_user}","gists_url":"https://api.github.com/users/robnagler/gists{/gist_id}","starred_url":"https://api.github.com/users/robnagler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/robnagler/subscriptions","organizations_url":"https://api.github.com/users/robnagler/orgs","repos_url":"https://api.github.com/users/robnagler/repos","events_url":"https://api.github.com/users/robnagler/events{/privacy}","received_events_url":"https://api.github.com/users/robnagler/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":10,"created_at":"2015-01-19T23:22:11Z","updated_at":"2015-01-20T15:54:27Z","closed_at":null,"body":"Extra slashes in the URL change the routing. For example, `/x` and `//x` do not route the same way. \r\nHere's a unit test which demonstrates this:\r\n\r\nhttps://gist.github.com/robnagler/1a5d0361cc71a6806fc6\r\n\r\nIf you put a proxy in front of flask, it will normalize the URLs so this isn't an issue. It would seem, however, that Flask should normalize the URLs as well.\r\n"},"comment":{"url":"https://api.github.com/repos/mitsuhiko/flask/issues/comments/70676265","html_url":"https://github.com/mitsuhiko/flask/issues/1323#issuecomment-70676265","issue_url":"https://api.github.com/repos/mitsuhiko/flask/issues/1323","id":70676265,"user":{"login":"untitaker","id":837573,"avatar_url":"https://avatars.githubusercontent.com/u/837573?v=3","gravatar_id":"","url":"https://api.github.com/users/untitaker","html_url":"https://github.com/untitaker","followers_url":"https://api.github.com/users/untitaker/followers","following_url":"https://api.github.com/users/untitaker/following{/other_user}","gists_url":"https://api.github.com/users/untitaker/gists{/gist_id}","starred_url":"https://api.github.com/users/untitaker/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/untitaker/subscriptions","organizations_url":"https://api.github.com/users/untitaker/orgs","repos_url":"https://api.github.com/users/untitaker/repos","events_url":"https://api.github.com/users/untitaker/events{/privacy}","received_events_url":"https://api.github.com/users/untitaker/received_events","type":"User","site_admin":false},"created_at":"2015-01-20T15:54:27Z","updated_at":"2015-01-20T15:54:27Z","body":">Apache removes duplicate slashes for a good reason.\r\n\r\nBoth sides make good arguments in that thread. Note that I'm not opposed to handling multiple slashes as one, but I'm not sure\r\n\r\n1.  how to handle backwards compat... maybe disable this behavior if the user defines routes differing only in amount of slashes? At which point does Flask's routing behavior become incomprehensible?\r\n2.  whether to redirect or just \"accept\", see above."}}