2011-02-08 77 views
0

我希望能够在这两个MOD的使用FOO重新写,这是我目前已经和正在工作的罚款:帮助冲突的国防部重写

#Links to categorys 
    RewriteRule foo/(.*)/ foo.php?cat=$1 
    RewriteRule foo/(.*) foo.php?cat=$1 

#Links to categorys with pagination  
    RewriteRule fooo/(.*)/(.*)/ foo.php?cat=$1&id=$2 
    RewriteRule fooo/(.*)/(.*) foo.php?cat=$1&id=$2 

但真的希望有这个代替:

#Links to categorys 
    RewriteRule foo/(.*)/ foo.php?cat=$1 
    RewriteRule foo/(.*) foo.php?cat=$1 

#Links to categorys with pagination  
    RewriteRule foo/(.*)/(.*)/ foo.php?cat=$1&id=$2 
    RewriteRule foo/(.*)/(.*) foo.php?cat=$1&id=$2 

因为都是培训相关的情况下(同一页)只是额外的分页ID的情况下,但如果我没有多余的“O”它冲突,因此给我一个404

任何帮助很大赞赏

回答

1

的问题来自于一个事实,即这条规则:

RewriteRule foo/(.*) 

...将匹配任何会符合您的分页规则,会首先做到这一点。最简单的解决方法就是倒置规则的顺序,并进行一些小的改动:

#Links to categorys with pagination 
RewriteRule foo/([^/]*)/([^/]+)/? foo.php?cat=$1&id=$2 

#Links to categorys 
RewriteRule foo/([^/]*)/? foo.php?cat=$1 

此外,如果你的脚本可以处理id没有价值传递,你可以凝聚一切成一个单一的规则:

# Links to categories with optional pagination 
RewriteRule foo/([^/]*)(?:/([^/]+))?/? foo.php?cat=$1&id=$2 
+0

谢谢蒂姆的第一个2工作很好:) ...可悲的是第二个选项“链接到可选分页的类别”没有,但嘿豪 – Dizzi 2011-02-08 22:51:25