Ver Mensaje Individual
  #2 (permalink)  
Antiguo 19/10/2011, 10:28
Avatar de zerokilled
zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: symlink en apache/windows

bueno, continuando con la busqueda he logrado recaudar algunos detalles, además de dar con posibles soluciones. los symlinks en windows simplemente no van a funcionar bajo apache porque no es algo que lo implementa apache, sino el sistema operativo; entonces apache toma ventaja de dicha característica. por el momento pude dar con dos soluciones pero depende de cada caso: Alias con RewriteEngine, o AliasMatch.

Código:
<root>
├───files
├───images
├───recycle
├───rpc
├───sites
│   └───project
│       ├───admin    #virtual_host
│       ├───private
│       └───public    #virtual_host
│           ├───files
│           └───images
└───textpattern
    ├───include
    │   └───import
    ├───lang
    ├───lib
    ├───publish
    ├───setup
    ├───theme
    │   ├───classic
    │   └───remora
    ├───tmp
    ├───txp_img
    └───update
dado dicha estructura de directorios donde dos de ellos son VirtualHost -la parte administrativa y pública-, admin contiene archivos symlinks que hacen referencia a recursos en el directorio textpattern. lo que hice fue eliminar los symlinks y declarar un Alias tal que Alias "/core" "<root>/txp/textpattern". luego un htaccess en admin.

Código apache:
Ver original
  1. <IfModule mod_rewrite.c>
  2.     RewriteEngine On
  3.  
  4.     RewriteCond %{REQUEST_FILENAME} !-f
  5.     RewriteRule ^(.+) /core/$1 [PT]
  6. </IfModule>

la otra solución, con AliasMatch, simplemente pareo la URL con el directorio núcleo con la única excepción si la url apunta a index.php ya que es el único archivo dentro de admin.
Código:
	AliasMatch ^/(?!index\.php)(.+) <root>/txp/textpattern/$1
en conclusión, aún no sé cual es la mejor alternativa. al menos por el momento ambas me funcionan. por suerte en este caso todos los symlinks apuntan al mismo directorio.

gracias a todos los que leyeron e intentaron buscar una solución.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.