我有一個顯示選定成員信息的頁面。現在,我選擇使用GET數據在URL中選擇成員,如下所示:Page/index.php?Member=member1
我看到這樣做的網站:Page/member1
這是可能的只有一個PHP文件?在不使用GET的情況下在URL中傳遞數據
1
A
回答
1
3
友好的URL需要Web服務器進行某種處理,以便頁面請求通過單個php腳本(又名控制器)傳遞。
例如,Apache有能力匹配URL中的模式並在幕後修改請求 - 您實際上會編寫PHP來作爲用戶輸入原始GET字符串的反應,但他們可以使用友好而不是。
爲Apache簡單的例子 - 放的.htaccess你的文檔根,並寫上:
RewriteEngine On
RewriteRule ^Page/([A-Za-z0-9\_]+)/?$ index.php?member=$1 [QSA,L]
我不知道相當於將在IIS的 - 但我知道它是可用
1
有很多方法可以做到這一點,所有這些都取決於Web服務器。與Apache,一些可能性:
- mod_rewrite的(最靈活的方式,但可能是乏味的配置)
- 選項+多視圖(很容易,但需要PHP文件被命名爲類似請求的URL)
- 自定義404處理程序(不推薦)
假設您使用的是Apache並已啓用MultiView。文件Page.php
將與Page/*
匹配,其明顯包括Page/member1
。然後您必須檢查URL(請看$_SERVER
,它包含您需要的一切)並決定是否可以遵守請求。
0
可以單獨使用下面做在PHP:
1)獲取相對於文檔根目錄的文件名。
$_SERVER['PHP_SELF']
http://example.com/test.php/foo.bar將是/test.php/foo.bar。
2)通過你的分隔符爆炸(在這種情況下/)
array explode (string $delimiter , string $string [, int $limit ])
3)驗證數組值,然後放入變量
var $myValue = myarray[0];
相關問題
- 1. 如何在不使用url的情況下傳遞參數
- 2. 如何在不使用segue的情況下傳遞數據
- 3. PHP在未使用GET的情況下在URL中發佈
- 4. 如何在不使用類型的情況下使用GET傳遞變量?
- 5. Mvc在不使用Temp數據的情況下傳遞數據「RedirectToAction」
- 6. 在不使用GET的情況下將變量傳遞給html頁面
- 7. 在帶和不帶「」的情況下在C中傳遞參數「」
- 8. jquery ajax在這種情況下不能正確傳遞數據
- 9. 在不使用ODBC.DataReader的情況下將數據傳遞給另一個類C#
- 10. 在不使用文件輸入流的情況下使用poi在excel中添加數據url數據url
- 11. 如何在不使用web代碼的情況下在URL中發送數據?
- 12. 如何使用PHP在URL中傳遞URL(作爲GET參數)?
- 13. 在不使用htaccess的情況下在PHP中重寫URL
- 14. 如何在不使用GET和POST方法的情況下提交數據。
- 15. 在不激活turtle.onclick的情況下傳遞參數(Python3海龜)
- 16. 在不傳遞參數的情況下創建setColor方法?
- 17. 在不使用數據庫的情況下存儲數據android
- 18. 在Python中,如何在不傳遞實例的情況下使用類方法?
- 19. 在不寫磁盤的情況下在吞嚥任務之間傳遞數據
- 20. 如何在不使用URL的情況下在JNDI數據源上設置zeroDateTimeBehavior?
- 21. 在這種情況下如何傳遞segue數據?
- 22. Flex:在某些情況下將數據傳遞給php文件
- 23. 在不使用apt-get的情況下安裝Python蛋依賴
- 24. 在這種情況下如何在AJAX數據中傳遞參數
- 25. 在不使用OData約定的情況下傳遞查詢字符串參數?
- 26. 如何在不通過參數傳遞它的情況下使用GameTime?
- 27. 在URL中傳遞多個GET變量與「下一個」參數
- 28. 爲什麼在開關情況下數組值不能傳遞?
- 29. 如何在不顯示URL的情況下將數據傳遞到下一個路徑?
- 30. 如何在不使用數據庫的情況下在datagridview中顯示數據
它可以用PHP來實現 - 見我的帖子,但它不乾淨,可能容易出錯。 –