$_SERVER['REQUEST_URI']
和$_GET['q']
(用在Drupal中)有什麼區別?
回答
鑑於這種例子網址:
http://www.example.com/some-dir/yourpage.php?q=bogus&n=10
$_SERVER['REQUEST_URI']
會給你:
/some-dir/yourpage.php?q=bogus&n=10
而$_GET['q']
會給你:
bogus
換句話說,$_SERVER['REQUEST_URI']
將包含完整的請求路徑,包括querystring。而$_GET['q']
會給你查詢字符串中的參數q
的值。
PHP手冊介紹了兩個相當不錯:
http://php.net/manual/en/reserved.variables.server.php#REQUEST_URI
http://php.net/manual/en/reserved.variables.get.php#爲$ _GET [ 「Q」]變量
在Drupal的背景下,差異將取決於是否乾淨的網址是否打開。
有了他們,$_SERVER['REQUEST_URI']
將有頁面的完整路徑,如所謂的W//index.php
,而$_GET["q"]
只會有什麼被分配到q
。
與他們在一起,他們將幾乎相同W/O其他參數,但$_GET["q"]
將缺少領先/
。看看默認.htaccess的結尾,看看發生了什麼。如果將其他參數傳遞到頁面中,例如當傳呼機處於活動狀態時,它們也會有所不同。
這是解決問題的最初原因(URL重寫)的唯一答案;而不是僅僅給出相當明顯的php超全球變量定義。不要誤解我的意思,其他答案本身是非常正確的,但是這個答案提供了一些背景知識,並且應該有更多的讚揚! – Levit
- 1. $ _SERVER ['PHP_SELF']和$ _SERVER ['SCRIPT_NAME']之間有什麼區別?
- 2. $ _SERVER ['PATH_INFO']和$ _SERVER ['ORIG_PATH_INFO']有什麼區別?
- 3. $ _SERVER ['REQUEST_URI']
- 4. request.env ['REQUEST_URI']和request.env ['REQUEST_PATH']之間有什麼區別?
- 5. '#'和$ _SERVER之間的區別['PHP_SELF']
- 6. $(())和expr之間的區別是什麼?
- 7. $和$ .fn之間的區別是什麼?
- 8. ++和:haskell之間的區別是什麼?
- 9. $(「」)和$ .find(「」)之間的區別是什麼?
- 10. 「\」和「\。」之間的區別是什麼?
- 11. 「$ | ++」和「$ | = 1」之間的區別是什麼
- 12. $(...)和`...`之間的區別是什麼
- 13. .equals()和==之間的區別是什麼?
- 14. [undefined]和[,]之間的區別是什麼?
- 15. PHP:$ _SERVER ['REDIRECT_URL'] vs $ _SERVER ['REQUEST_URI']
- 16. angularjs和requirejs中的「Q」和「q」之間的區別
- 17. $ _SERVER ['HTTP_REFERER']和$ HTTP_REFERER有什麼區別?
- 18. 區別:%% a和%variable%變量之間的區別是什麼?
- 19. 什麼是爲PrintWriter和DataOutputStream之間的區別是什麼?
- 20. $ _SERVER ['REQUEST_URI']和#hash呢?
- 21. include('file.php')和include'file.php'之間的區別是什麼
- 22. [EmailPasswordAuthProvider,EmailAuthProvider]之間的區別是什麼
- 23. Queue q = new LinkedList和LinkedList q = new LinkedList之間的區別?
- 24. MVC和MVVM之間的區別和相似之處是什麼?
- 25. KDB/Q中的行之間的區別
- 26. TVF/UDF之間的區別是什麼
- 27. System.Linq.Enumerable.WhereListIterator&System.Linq.Enumerable.WhereSelectListIterator之間的區別是什麼?
- 28. 什麼之間的區別〜^和Git中
- 29. 什麼@android之間的區別:和android:
- 30. -p和-q選項有什麼區別
嗯..他們是兩個完全不同的東西?我認爲你需要添加一些內容 –