2017-09-05 31 views
1

我想知道是否可以合併2個重寫規則。我正在使用Apache mod_rewrite模塊。如何在php中使用Apache mod_rewrite模塊來合併2重寫規則

規則#1

RewriteRule ^albums/singles/?$ discography/discography.php?primarytype=2 [L,QSA] 

規則#2

RewriteRule ^albums/ep/?$ discography/discography.php?primarytype=3 [L,QSA] 

我可以合併那些2個規則?

回答

2
RewriteRule ^albums/(singles|ep)/?$ discography/discography.php?primarytype=2 [L,QSA] 

看看這是否適合您?我現在還沒有測試過。

第一部分是正則表達式第二部分是要重寫的url。所以在第二個網址我認爲這(2 | 3)可能無法正常工作。

其實你可以捕捉的RewriteCond URL的動態部分,然後使用它作爲primarytype = $ 1

那是你的結果網址可以成爲primarytype = EP或primarytype =單打,但它似乎像他們可以不動態地做2或3。

RewriteRule ^albums/(singles|ep)/?$ discography/discography.php?primarytype=$1 [L,QSA] 

以上可能會爲你生成具有primarytype = EP或primarytype =單打的網址,但它似乎並不像2或3,可以動態地選擇像你在問題中所提到的選項。

+0

不幸的是,它不起作用 – Marco

+0

好吧,讓我檢查 – muasif80