0

我正在尝试为我正在编写的插件为我的网站提出最佳 URL 方案,并且遇到了一些冲突和障碍。

标准 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:///tipping-competition/show_games/8/round_id/184/1 这样的斜杠会更好

我认为我正在使用的方案是最丰富的关键字,而不会超出顶部,而且我的用户也更容易记住。

我只是不断遇到 404 或错误,因为某些 URL 与其他 URL 发生冲突。

谁能帮我为这些写一个重写规则?

我得到的碰撞符合以下规则

 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]

这些互相打断

4

1 回答 1

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]
于 2013-06-06T06:27:11.170 回答