index htaccess ellislab base_url codeigniter function url

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();