htaccess - redirect codeigniter
CodeIgniter-> Obtener la URL actual relativa a la url base (8)
En CI v3, puedes probar:
function partial_uri($start = 0) {
return join(''/'',array_slice(get_instance()->uri->segment_array(), $start));
}
Esto eliminará el número de segmentos de URL especificados por el argumento $start
. Si su URL es http://localhost/dropbox/derrek/shopredux/ahahaha/hihihi
, entonces:
partial_uri(3); # returns "ahahaha/hihihi"
URI::uri_string()
pero no puedo hacer que funcione con la base_url.
URL: http://localhost/dropbox/derrek/shopredux/ahahaha/hihihi
Devoluciones: dropbox/derrek/shopredux/ahahaha/hihihi
pero http://localhost/dropbox/derrek/shopredux/
simplemente devuelve una cadena vacía.
Quiero que la primera llamada devuelva "ahahaha / hihihi" y que la segunda vuelva "". ¿Existe tal función?
No sé si existe tal función, pero con $ this-> uri-> uri_to_assoc () obtiene una matriz asociativa de los parámetros $ _GET. Con esto, y el controlador en el que se encuentra, usted sabe cómo se ve la URL. En tu URL anterior, esto significaría que estarías en el cuadro de control del controlador y la matriz sería algo como esto:
array("derrek" => "shopredux", "ahahaha" => "hihihi");
Con esto deberías poder hacer tal función por tu cuenta.
Para el parámetro o sin parámetro URLs, use esto:
Método 1:
$currentURL = current_url(); //for simple URL
$params = $_SERVER[''QUERY_STRING'']; //for parameters
$fullURL = $currentURL . ''?'' . $params; //full URL with parameter
Método 2:
$full_url = (isset($_SERVER[''HTTPS'']) && $_SERVER[''HTTPS''] === ''on'' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
Método 3:
base_url(uri_string());
Si el ayudante de url
está cargado, use
current_url();
será mejor
Trate de usar segmentos "uri" como:
$this->uri->segment(5); //To get ''ahahaha''
$this->uri->segment(6); //To get ''hihihi
forma tu primera URL ... Obtienes "" de la segunda URL también para el segmento (5), segmento (6) también porque están vacías.
Cada recuento de funciones de segmento comienza desde localhost como ''1'' y segmentos simultáneos
Veo que este post es viejo. Pero en la versión CI v3 aquí está la respuesta:
echo $this->uri->uri_string();
Gracias
// For current url
echo base_url(uri_string());
//if you want to get parameter from url use:
parse_str($_SERVER[''QUERY_STRING''], $_GET);
//then you can use:
if(isset($_GET["par"])){
echo $_GET["par"];
}
//if you want to get current page url use:
$current_url = current_url();