2011-01-29 107 views
0

我有一個名爲show.php的動態頁面。該網頁是動態的,網址可能是show.php?name=john-doeshow.php?category=student2個動態頁面的URL重寫規則

我正在嘗試創建一個重寫規則,將URL轉換爲名稱的/show/john-doe.html或類別的/show/student.html

這是我在我的.htaccess到目前爲止。

RewriteRule ^show/([^/]*)\.html$ show.php?name=$1 [L] 
RewriteRule ^show/([^/]*)\.html$ show.php?category=$1 [L] 

目前,只有名稱規則有效,但類別規則沒有。怎麼了?

+0

什麼是確切的規則 - 如果這個名字中有一個連字符,它是一個名字? – 2011-01-29 10:23:45

回答

0

問題是您要將所有show/xxx.html發送到相同的URL(第一個)。由於兩個重寫規則都使用完全相同的參數,所以只有第一個參數可以工作。

你可以用兩種不同的方式解決這個問題。

您可以使用show.php?id = xxx並接受名稱和類別在您的PHP和detirmine中顯示的頁面。

您也可以使用兩種不同類型的網址在你重寫獲得節目/分類/ student.html和顯示/學生/約翰 - doe.html像這樣:

RewriteRule ^show/student/([^/]*)\.html$ show.php?name=$1 [L] 
RewriteRule ^show/category/([^/]*)\.html$ show.php?category=$1 [L] 
+0

謝謝9muses。 :) – 2011-01-29 10:55:21