我正在尝试为我的网站提供最佳的URL方案,用于我正在编写的插件,并且正在遇到几个冲突和路障。
标准网址如下
1 http://<mysite>/forums/misc.php?mytip=show_list
2 http://<mysite>/forums/misc.php?mytip=show_rounds&id=8
3 http://<mysite>/forums/misc.php?mytip=sign_up&id=8
4 http://<mysite>/forums/misc.php?mytip=show_games&id=8&round_id=123
5 http://<mysite>/forums/misc.php?mytip=leaderboard&id=8
6 http://<mysite>/forums/misc.php?mytip=leaderboard_detail&id=8&user=2&round_id=123
7 http://<mysite>/forums/misc.php?mytip=show_games&id=8&round_id=123&saved=1
现在我想重写它们看起来像
http://<mysite>/tipping-comp/<title of tipping comp>_<id>/<mytip>/<round_name>_round_id
例如,这些看起来像
1 http://<mysite>/tipping-comp/show_list
2 http://<mysite>/tipping-comp/dans-footy-tipping-2013_8/show_rounds/
3 http://<mysite>/tipping-comp/dans-footy-tipping-2013_8/sign-up/
4 http://<mysite>/tipping-comp/dans-footy-tipping-2013_8/show_games/round-1_184/
5 http://<mysite>/tipping-comp/dans-footy-tipping-2013_8/leaderboard/
6 http://<mysite>/tipping-comp/dans-footy-tipping-2013_8/leaderboard_detail/round-1_184/user-2
7 http://<mysite>/tipping-comp/dans-footy-tipping-2013_8/show_games/round-1_184/1
我使用下划线的唯一原因是因为我有更多的问题,我有上面的名字,如果它有一个数字,那么它有ID。我希望所有下划线或全部破折号。
对于我正在尝试做的事情,这是最好的URL方案吗?或者对于那些只是有类似斜线的东西,它会更好吗? HTTP:///斜倾竞争/ show_games / 8 / round_id /1分之184
我认为我使用的方案是关键词最丰富,而不会超过顶部,也让我的用户更容易记住。
我只是继续遇到404或错误,因为某些网址与其他网址发生冲突。
有人可以帮我写这些重写规则吗?
我得到的碰撞符合以下规则
RewriteRule ^tipping-competition/([^/]*)/([^/]*)/([^/]*)\.html$ misc.php?id=$2&mytipper=$3 [L,QSA]
#round_id added
RewriteRule ^tipping-competition/([^/]*)/([^/]*)/([^/]*)/([^/]*)\.html$ misc.php?id=$2&round_id=$3&mytipper=$4 [L,QSA]
这些互相打断
答案 0 :(得分:0)
我的碰撞是由于其他代码造成的。我能够通过以下规则实现我的目标
#standard rewrite rule for getting the list of comps
RewriteRule ^tipping-competition\.html$ misc.php?mytipper=show_list [L,QSA]
#rule for showing selected comp rounds
RewriteRule ^tipping-competition/([^/]*)/([^/]*)/([^/]*)\.html$ misc.php?id=$2&mytipper=$3 [L,QSA]
#round_id added
RewriteRule ^tipping-competition/([^/]*)/([^/]*)/([^/]*)/([^/]*)\.html$ misc.php?id=$2&round_id=$3&mytipper=$4 [L,QSA]