Estoy usando XAMPP en Windows Vista. En mi desarrollo, tengo http://127.0.0.1/test_website/
.
¿Cómo consigo http://127.0.0.1/test_website/
con PHP?
Intenté algo como esto, pero ninguno de ellos funcionó.
echo dirname(__FILE__)
or
echo basename(__FILE__);
etc.
Respuestas:
Prueba esto:
Obtenga más información sobre la
$_SERVER
variable predefinida .Si planea usar https, puede usar esto:
Según esta respuesta , asegúrese de configurar su Apache correctamente para que pueda confiar de manera segura
SERVER_NAME
.NOTA : Si depende de la
HTTP_HOST
clave (que contiene la entrada del usuario), aún debe realizar algunas tareas de limpieza, eliminar espacios, comas, retorno de carro, etc. Cualquier cosa que no sea un carácter válido para un dominio. Verifique la función incorporada PHP parse_url para ver un ejemplo.fuente
$_SERVER['HTTPS']
e intercambiar enhttps://
lugar dehttp://
en esos casos.REQUEST_URI
ya incluye un/
; lo hace. @swarnendu , tenga más cuidado al editar las respuestas de otras personas. Eso debería haber sido un comentario en su lugar.Función ajustada para ejecutarse sin advertencias:
fuente
¡Divertido fragmento 'base_url'!
Use tan simple como:
fuente
Uso:
fuente
Es simple de usar
Salida:
fuente
https://example.com
dehttps://example.com/category2/page2.html?q=2#lorem-ipsum
- que no tiene nada que ver con la página actual que se encuentra.Creo que el
$_SERVER
superglobal tiene la información que estás buscando. Puede ser algo como esto:Puede ver la documentación PHP relevante aquí .
fuente
Prueba el siguiente código:
fuente
El siguiente código reducirá el problema para verificar el protocolo. $ _SERVER ['APP_URL'] mostrará el nombre de dominio con el protocolo
$ _SERVER ['APP_URL'] devolverá el protocolo: // dominio (por ejemplo: - http: // localhost )
$ _SERVER ['REQUEST_URI'] para las partes restantes de la URL, como / directorio / subdirectorio / algo / más
La salida sería así
http: // localhost / directorio / subdirectorio / algo / más
fuente
Encontré esto en http://webcheatsheet.com/php/get_current_page_url.php
Agregue el siguiente código a una página:
Ahora puede obtener la URL de la página actual usando la línea:
A veces es necesario obtener solo el nombre de la página. El siguiente ejemplo muestra cómo hacerlo:
fuente
fuente
Prueba esto. Esto funciona para mi.
Usar así:
fuente
Truco simple y fácil:
La URL se ve así:
http://example.com/folder/
fuente
Puedes hacerlo así, pero lo siento, mi inglés no es lo suficientemente bueno.
Primero, obtenga la URL de la base de inicio con este código simple.
He probado este código en mi servidor local y público y el resultado es bueno.
la salida tendrá gusto de esto:
use la
home_base_url
funciónindex.php
de su sitio web y defínaloy luego puede usar esta función para cargar scripts, CSS y contenido a través de URL como
creará una salida como esta:
y si este script funciona bien!
fuente
Aquí hay uno que acabo de armar que funciona para mí. Devolverá una matriz con 2 elementos. El primer elemento es todo antes del? y el segundo es una matriz que contiene todas las variables de cadena de consulta en una matriz asociativa.
Nota: Esta es una expansión de la respuesta proporcionada por maček arriba. (Crédito a quien crédito merece.)
fuente
Editado en la respuesta de @ user3832931 para incluir el puerto del servidor.
para formar URL como ' https: // localhost: 8000 / folder / '
fuente
fuente
Intenta usar:
$_SERVER['SERVER_NAME'];
Lo usé para hacer eco de la URL base de mi sitio para vincular mi CSS.
¡Espero que esto ayude!
fuente
Tenía la misma pregunta que el OP, pero tal vez un requisito diferente. Creé esta función ...
... que, por cierto, uso para ayudar a crear URL absolutas que deberían usarse para redirigir.
fuente
y obtienes algo como
fuente
Solo prueba y obtén el resultado.
fuente
En mi caso, necesitaba la URL base similar a la
RewriteBase
contenida en el.htaccess
archivo.Por desgracia, simplemente recuperando el
RewriteBase
del.htaccess
archivo es imposible con PHP. Pero es posible establecer una variable de entorno en el archivo .htaccess y luego recuperar esa variable en PHP. Simplemente revise estos bits de código:.htaccess
index.php
Ahora uso esto en la etiqueta base de la plantilla (en la sección de encabezado de la página):
Entonces, si la variable no estaba vacía, la usamos. De lo contrario, recurrir a la
/
ruta base predeterminada.Según el entorno, la URL base siempre será correcta. Utilizo
/
como URL base en sitios web locales y de producción. Pero/foldername/
para el entorno de puesta en escena.Todos tenían los suyos
.htaccess
en primer lugar porque RewriteBase era diferente. Entonces esta solución me funciona.fuente
Eche un vistazo a $ _SERVER ['REQUEST_URI'], es decir
Si desea admitir tanto HTTP como HTTPS, puede usar esta solución
Esto funcionó para mí. Espero que esto también te ayude. Gracias por hacer esta pregunta.
fuente