【发布时间】:2014-03-15 18:23:46
【问题描述】:
我的网页上需要友好的 url,为此我使用了 htaccess 文件。 实际上这很容易,但是有些页面的 url 可以有多个可选参数,没有特定的顺序,我无法想象这些页面的重写规则应该是什么样子。
例如,显示数据库中大量电影列表的页面。您可以按媒体(DVD、蓝光)、年龄、流派进行过滤。您可以按字母、等级等对结果进行排序,并且可以切换页面。所有这些都适用于 url 参数。
index.php?movies
显示所有电影,没有过滤器,没有排序。重写后的 url 应该是这样的:
/movie
目前没有问题。但它也可以是这样的:
index.php?movies&medium=1&genre=3&age=17&sort=alphabet&page=15
这将返回 dvd 上所有 R 级恐怖电影的第 15 页,按名称排序。
参数没有特定的顺序,都是可选的。如果我的 RewriteRule 会像这样
RewriteRule ^movies/([0-9]+)/([0-9]+)/?$
你怎么知道第一个参数是 medium 还是 page 或其他什么? 有没有办法识别参数?
/movies/genre-3/page-15
非常感谢!
【问题讨论】:
-
你可以使用这样的url:
/movies/medium?1/genre/3&age/17/sort/alphabet/page=15来支持URI中的多个参数。 -
但是重写规则是什么样的?
-
ok 把我的答案贴在下面,看看对你有没有用。