2011-08-16 68 views
1

我已經成功地創建乾淨的網址爲我的項目..現在我需要做的就是添加變量URL ..GET方法

localhost/user1/file?action=add 
localhost/user2/file2?action=delete 

,其中用戶和文件已經被改寫,我不想它像localhost/user/file/add因爲localhost/user/folder/file會誤向動作參數..請幫助

+1

您是否考慮過移植已經解決了這個問題的衆多框架之一? – jondavidjohn

回答

1

嘗試使用符號代替問號:

localhost/user2/file2&action=delete 

在你的htaccess的重寫規則可能是這個樣子:

RewriteRule ^user([0-9]+)/file([0-9]+)$ /page\.php?user=$1&file=$2 

正如你所看到的,問號已經即使它在地址欄中被屏蔽了。將另一個變量附加到查詢字符串將需要&符號來成功連接。

+0

像openID這樣的一些web服務的問題只是回到它發佈的網址,他們添加了一個問號。但我明白在這種情況下,它的作品。 –

-1

您可以閱讀通過訪問全球$ _GET數組獲得PHP變量:

http://php.net/manual/en/reserved.variables.get.php

在你的榜樣,一個用於處理文件的PHP文件將能夠閱讀:

echo $_GET['action']; // 'add' or 'delete' 
+1

GET將不會返回任何內容。因爲他已經在後臺使用get(mod_rewrite) –

+0

mod_rewrite重寫user1/file部分的url。問題是如何處理其餘的問題。從AlienWebguy的回答可以看出,page.php?user = $ 1&file = $ 2意味着page.php將通過GET接收這些變量。 –

0

你需要得到的URL,並開始解析來自問號的URL。我將這些內容保存到一個數組中,以便獲得一個鍵和一個值。

$uri = $_SERVER["REQUEST_URI"]; 

$questionMark = explode('?',$uri); 

$ questionMark [1]是action = delete then。在這裏使用explode()方法可能有更好的方法,但我只是想展示如何獲取字符串。