我想在codeigniter的url段中傳遞類似http://example.com/test?a=1&b=2的網址。在Codeigniter URL段中傳遞URL
我想通過類似http://myurl.com/abc/http://example.com/test?a=1&b=2的東西,並獲得「http://example.com/test?a=1 & b = 2」url。最好的辦法是什麼?
我想在codeigniter的url段中傳遞類似http://example.com/test?a=1&b=2的網址。在Codeigniter URL段中傳遞URL
我想通過類似http://myurl.com/abc/http://example.com/test?a=1&b=2的東西,並獲得「http://example.com/test?a=1 & b = 2」url。最好的辦法是什麼?
設置你的URI協議REQUEST_URI
在application/config/config.php
,像這樣:
$config['uri_protocol'] = 'REQUEST_URI';
然後使用GET
方法:
$this->input->get('a');
編輯:
由於HTTP://示例.com/test?a = 1 & b = 2不是編碼的URL,這是不可能的。因此,首先,我會編碼URL與urlencode功能是這樣的:
urlencode('http://example.com/test?a=1&b=2');
返回類似:http%3A%2F%2Fexample.com%2Ftest%3Fa%3D1%26b%3D2
所以我會通過這樣的網址:
http://myurl.com/?url=http%3A%2F%2Fexample.com%2Ftest%3Fa%3D1%26b%3D2
然後得到一個例子使用GET方法的URL。
$this->input->get('url');
下面是該回答這個questin的文章的鏈接 - http://wildlyinaccurate.com/segment-based-urls-with-query-strings-in-codeigniter-2/ 記住谷歌是你最好的朋友。
我不是在找這個。編輯了這個問題。 – vivek 2012-03-24 08:52:40
使用這種技術來獲取URL
$url = "http://example.com/test?a=1&b=2";
$segments = array($controller, $action, $url);
echo site_url($segments);
// or create a anchor link
echo anchor($segments, "click me");
通urlendode()'d在URL段,然後將其與自己的(MY_ *)類解碼:
應用/核心/ MY_URI.php :
<?php
class MY_URI extends CI_URI {
function _filter_uri($str)
{
return rawurldecode(parent::_filter_uri($str));
}
}
// EOF
編輯我的問題。 – vivek 2012-03-24 08:52:02
我也編輯過) – 2012-03-24 10:54:35
你會如何做到這一點沒有變量?你可以將它作爲URI segmenent來添加:'example.com/index.php/controller/method/var1/var2'? – user2019515 2013-05-07 03:31:23