• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Problemas con URLs (localhost / web)

#1
[eluser]victorchalian[/eluser]
Hola amigos, me sucede una situación extraña.
Tengo instalado localmente, Codeigniter 2.1, PHP 5.4.3, Wamp 2.2 y win 7.

Al hacer la llamada

Code:
<img src="&lt;?php echo base_url()?&gt;ceroKilometro/resize/100/75/&lt;?php echo $vista_img?&gt;/&lt;?php echo $foto?&gt;" alt="&lt;?php echo $titulo?&gt;" title="clic para agrandar" class="tip">

no se ven la imagen, sin embargo, si hacemos

Code:
<img src="http://www.dominio.com/ceroKilometro/resize/100/75/&lt;?php echo $vista_img?&gt;/&lt;?php echo $foto?&gt;" alt="&lt;?php echo $titulo?&gt;" title="clic para agrandar" class="tip">

o si en otros casos incovamos sin dominio o base_url() como
Code:
<img src="../images/usados/&lt;?php echo $autofoto['nombre']?&gt;" />

la imagen se ve perfectamente.

algunas aclaraciones.
- El controlador ceroKilometro, llama a la función resize y le pasa las medidas 100x75
-
Code:
$vista_img
es el nombre de una carpeta
-
Code:
$foto
es el nombre del archivo


- Hicimos cambios en .htaccess y el rewrite_module de apache está activado
- Esta misma rutina ya la estabamos usando sin problemas en una versión anterior de CI
- No es un problema de archivo no existente el error no es 404
- Debageando con Chrome, no vemos errores, pero las fotos no se ven.
- Todas las pruebas fueron localhost, ya sabemos que en el server funciona bien sin modificar nada.
- Naturalmente, hay otros controladores y vistas que recurren a base_url() y no presentan ningún problema.
- route.php está configurado sin cambios o agregados.


Es rarísimo, les agradeceré si alguien tiene sospechas de que puede ser.
Gracias y saludos,
Victor.

#2
[eluser]NeoArc[/eluser]
Han revisado el código fuente HTML que se genera?

Quizas la variable de configuración "base_url" no está vacía.
Code:
$config['base_url'] = '';

Esto podría ocasionar que al llamar a base_url(); se agregue /index.php/ a la ruta, no estoy seguro.

Pueden revisar errores 404 desde la pestaña de inspeccion de red, en las herramientas de desarrollador de Chrome (F12)


Por cierto, el valor de base_url() siempre va a ser el mismo, por lo que tranquilamente lo pueden indicar solo una vez, usando la etiqueta &lt;base&gt; dentro de la cabecera de página:

Code:
&lt;base href="&lt;?php echo base_url()?&gt;" /&gt;


Aunque esto trae como consecuencia que ya no se puedan usar enlaces con hash vacio (<a href="#">) los cuales empezarian a apuntar a la página de inicio.

#3
[eluser]victorchalian[/eluser]
Gracias por la respuesta.

Code:
base_url()
está inicializado

en el html el parseo es
http://localhost/stepcars/ceroKilometro/ficha/5423/stepcars/

Probamos otro caso, en igual situación, usando igual función y no se ve la img aunque se agrege en dominio, en lugar de localhost.

Me parece que el problema puede estar en el uso del rezise de CI, no se, haremos unas pruebas más.




#4
[eluser]NeoArc[/eluser]
Los accesos que son de tipo "127.0.0.1" o "localhost" solo pueden ser vistos en la propia computadora de desarrollo.

Suerte con las pruebas.

#5
[eluser]NeoArc[/eluser]
El htaccess está configurado correctamente?

Si se encuentran en un subdirectorio, deberia tener este formato:

RewriteBase /stepcars

....
RewriteRule ^.*$ /stepcars/index.php [NC,L]


Siendo un archivo .htaccess diferente al del sitio web de producción.

#6
[eluser]Aken[/eluser]
Que?

Lol sorry, couldn't resist. I hope you solve(d) your problema!

#7
[eluser]victorchalian[/eluser]
Gracias por las respuestas.
El .htaccess está configurado ok.
Como les comentamos, ya está en producción y se agragaron funcionalidades.
Es más raro aún.
Tenemos en otro controlador una función que altera el tamaño de fotos y corre sin problemas.

Les consulto,

Como se llama una función que está en un controlador desde otro controlador ?

por ej.
En el controlador 1
tengo funcion a()

y desde el controlador 2
quiero llamar a la funcion a() ?

gracias y saludos





#8
[eluser]victorchalian[/eluser]
Nadie sabe ? o no puede hacerse esto ?

#9
[eluser]CroNiX[/eluser]
Puede crear una biblioteca para las funciones que deben utilizarse en varios controladores o auxiliares.
http://ellislab.com/codeigniter/user-gui...lpers.html
http://ellislab.com/codeigniter/user-gui...aries.html

#10
[eluser]victorchalian[/eluser]
Gracias por la respuesta.
He usado Helpers, pero pensé que podía resolverse entre controladores.
Utilizare este recurso.


Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  


  Theme © 2014 iAndrew  
Powered By MyBB, © 2002-2019 MyBB Group.