Url rewriting 博客URL的正确方式

Url rewriting 博客URL的正确方式,url-rewriting,blogs,Url Rewriting,Blogs,我正在尝试使用博客应用程序,我希望主页上有以下URL:http://localhost/blog 以及具有如下URL的帖子:http://localhost/blog/post-slug-name. 所以现在我想知道其他的动作应该是什么样子。应该是这样的吗 http://localhost/blog/post-slug-name/edit (GET/POST) http://localhost/blog/post-slug-name (DELETE) http://localhost/blog/

我正在尝试使用博客应用程序,我希望主页上有以下URL:http://localhost/blog 以及具有如下URL的帖子:http://localhost/blog/post-slug-name. 所以现在我想知道其他的动作应该是什么样子。应该是这样的吗

http://localhost/blog/post-slug-name/edit (GET/POST)
http://localhost/blog/post-slug-name (DELETE)
http://localhost/blog/create_new (GET/POST)

但我不喜欢有特殊情况下创建新的,因为模式是一样的,为正常的职位。通常的做法是什么?

如果您可以完全控制服务器映射HTTP请求的方式,您可以使用POST来使用该段塞名称创建POST,成功时返回201已创建状态,如果页面存在,则返回409冲突。使用单个create\u new方法的优点是,它可以透明而明显地处理冲突避免。

但是/post slug name/create没有任何意义,因为还没有slug name。在url localhost/blog/post slug name/create中,字符串post slug name只是create动词的一个参数。如果您不想将名称传递给create,另一个一致性选项是将动词放在slug之前。blog/create_new,blog/edit/post slug name,blog/view/post slug name,等等。好吧,这太糟糕了。有人告诉我如何在评论中使用单空格。问题是:我不想使用/view/post slug名称,而且我从未在任何地方见过这样的用法。在post实际创建之前没有post slug名称,它怎么知道应该是什么名称呢?Josh,谢谢。我坚持用这种方式写文章:blog/post/post name用于查看,blog/edit/post name用于编辑。