2012-06-14 23 views
2

我寫了這段簡短的PHP代碼,需要2個變量的名稱和ID,現在的代碼本身按預期工作,不是我的問題,問題是,我想從'http://www.mypage.org/folder/index.php?name=name & id = 0'縮短到這個文件的鏈接到'http://www.mypage.org/folder/name;0' ,像這樣:問題與.htaccess重寫時,缺少第二個變量

RewriteRule ^([a-zA-Z0-9]+);(.*)$ index.php?name=$1&id=$2 

但是,如果有人進入的鏈接,如「http://www.mypage.org/folder/name」用了「;」分隔符他們得到一個404頁面。

有沒有辦法寫一種if語句,也檢查鏈接與';'?

該php頁面可以通過默認爲'0'以及缺少的名稱來處理缺少的id。

在此先感謝!

回答

1

製作;0部分或URL可選:

RewriteRule ^([a-zA-Z0-9]+)(?:;(.*))?$ index.php?name=$1&id=$2 

或像這樣(如果上述在Apache不工作)

RewriteRule ^([a-zA-Z0-9]+)(;(.*))?$ index.php?name=$1&id=$3 
+0

謝謝你,如預期的第一個解決方案的工作,第二個完全忽略了id。我不知道這個小竅門。 –