You are viewing revision #2 of this wiki article.
This is the latest version of this article.
You may want to see the changes made in this revision.
Many applications wish to obtain parts of the URL for the current page (the hostname, the query string, etc.), and the CHttpRequest
class wraps various $_SERVER
variables to break down the URL into its constituent parts.
It's sometimes confusing to read the descriptions of each one and know exactly what it represents, so this page shows a full URL with all the parts broken out.
FULL URL -----> http://www.example.com:8080/project/index.php?r=post/view&id=123
PROPERTY
hostInfo http://www.example.com:8080
port 8080
baseUrl /project
url /project/index.php?r=post/view&id=123
requestUri /project/index.php?r=post/view&id=123
scriptUrl /project/index.php
queryString r=post/view&id=123
scriptFile /var/www/html/project/index.php
The names on the left are the properties of CHttpRequest
, and can be accessed via Yii::app()->request->hostInfo
and the like.
A few notes:
- If the
index.php
script is directly under the webroot, [CHttpRequest::baseUrl] will return an empty string - Though it appears that [CHttpRequest::url] and [CHttpRequest::requestUri] return the same value, the underlying code is different and it's not clear how the differences manifest themselves (Update: in 1.1.7, the two will be the same)
- There doesn't appear to be a single method to return the entire request URL in a single step; one can concatenate [CHttpRequest::hostInfo] and [CHttpRequest::url] to achieve this
Very handy reference
Useful and nicely concise.
If you have any questions, please ask in the forum instead.
Signup or Login in order to comment.