{"action":"closed","issue":{"url":"https://api.github.com/repos/omeka/omeka-s/issues/403","labels_url":"https://api.github.com/repos/omeka/omeka-s/issues/403/labels{/name}","comments_url":"https://api.github.com/repos/omeka/omeka-s/issues/403/comments","events_url":"https://api.github.com/repos/omeka/omeka-s/issues/403/events","html_url":"https://github.com/omeka/omeka-s/issues/403","id":109874475,"number":403,"title":"Handle trailing slashes some better way","user":{"login":"zerocrates","id":298975,"avatar_url":"https://avatars.githubusercontent.com/u/298975?v=3","gravatar_id":"","url":"https://api.github.com/users/zerocrates","html_url":"https://github.com/zerocrates","followers_url":"https://api.github.com/users/zerocrates/followers","following_url":"https://api.github.com/users/zerocrates/following{/other_user}","gists_url":"https://api.github.com/users/zerocrates/gists{/gist_id}","starred_url":"https://api.github.com/users/zerocrates/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zerocrates/subscriptions","organizations_url":"https://api.github.com/users/zerocrates/orgs","repos_url":"https://api.github.com/users/zerocrates/repos","events_url":"https://api.github.com/users/zerocrates/events{/privacy}","received_events_url":"https://api.github.com/users/zerocrates/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/omeka/omeka-s/labels/improvement","name":"improvement","color":"bfe5bf"},{"url":"https://api.github.com/repos/omeka/omeka-s/labels/task","name":"task","color":"bfd4f2"}],"state":"closed","locked":false,"assignee":{"login":"zerocrates","id":298975,"avatar_url":"https://avatars.githubusercontent.com/u/298975?v=3","gravatar_id":"","url":"https://api.github.com/users/zerocrates","html_url":"https://github.com/zerocrates","followers_url":"https://api.github.com/users/zerocrates/followers","following_url":"https://api.github.com/users/zerocrates/following{/other_user}","gists_url":"https://api.github.com/users/zerocrates/gists{/gist_id}","starred_url":"https://api.github.com/users/zerocrates/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zerocrates/subscriptions","organizations_url":"https://api.github.com/users/zerocrates/orgs","repos_url":"https://api.github.com/users/zerocrates/repos","events_url":"https://api.github.com/users/zerocrates/events{/privacy}","received_events_url":"https://api.github.com/users/zerocrates/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/omeka/omeka-s/milestones/14","html_url":"https://github.com/omeka/omeka-s/milestones/October%2023","labels_url":"https://api.github.com/repos/omeka/omeka-s/milestones/14/labels","id":1351305,"number":14,"title":"October 23","description":"","creator":{"login":"zerocrates","id":298975,"avatar_url":"https://avatars.githubusercontent.com/u/298975?v=3","gravatar_id":"","url":"https://api.github.com/users/zerocrates","html_url":"https://github.com/zerocrates","followers_url":"https://api.github.com/users/zerocrates/followers","following_url":"https://api.github.com/users/zerocrates/following{/other_user}","gists_url":"https://api.github.com/users/zerocrates/gists{/gist_id}","starred_url":"https://api.github.com/users/zerocrates/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zerocrates/subscriptions","organizations_url":"https://api.github.com/users/zerocrates/orgs","repos_url":"https://api.github.com/users/zerocrates/repos","events_url":"https://api.github.com/users/zerocrates/events{/privacy}","received_events_url":"https://api.github.com/users/zerocrates/received_events","type":"User","site_admin":false},"open_issues":17,"closed_issues":1,"state":"open","created_at":"2015-10-12T17:06:12Z","updated_at":"2015-10-12T20:45:15Z","due_on":"2015-10-23T04:00:00Z","closed_at":null},"comments":0,"created_at":"2015-10-05T20:00:46Z","updated_at":"2015-10-12T20:45:15Z","closed_at":"2015-10-12T20:45:15Z","body":"Right now we're just (spottily) adding optional slashes to routes to make them work with or without the slashes, and this is pretty bad both because it's annoying for us and we're not being super consistent about it, but also because it creates a situation where there are multiple URLs for the same page. We should probably just use rewrite rules or something similar to take off trailing slashes if they're given, and write all our routes to not have trailing slashes (even optional ones) in them."}}