我正在创建一个应用程序,其中许多网址使用像/foo/bar/<object_id>/<object_name_slug>/
这样的模式,就像许多应用程序(包括SO)一样,这本身就是一个可以直接执行的模式。然而,我不想只是盲目地忽略slug字段的内容,并将应用程序打开为愚蠢的东西,比如分发篡改URL的人(例如最近流行的http://www.independent.co.uk/life-style/food-and-drink/utter-PR-fiction-but-people-love-this-shit-so-fuck-it-lets-just-print-it-2269573.html)。验证URL段落
我的计划是验证slug的问题,重定向到正确的URL,如果有人通过糟糕的slu reaches达到一个页面(再次像SO)。这在视图中实现将是微不足道的,但由于这将是许多视图中使用的模式,所以我想将它分解成可重用的东西 - 可能是装饰器或中间件。
这样做的最好方法是什么?装饰器可以确定哪个url模式被特定的请求匹配,以便它可以在必要时生成反向?
感谢您的想法。
可能重复的[URL重写,如何避免URL尴尬?](http://stackoverflow.com/questions/5730801/url-rewriting-how-to-avoid-url-embarrassment) – 2012-01-13 19:24:14
请参阅:http:///stackoverflow.com/questions/4787731/canonical-links-and-301-redirect-if-url-doesnt-match-slug – 2012-01-19 06:24:22