2011-02-08 72 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