linux - instalar - ¿Qué es Options+FollowSymLinks?
laravel deploy apache (3)
¿Cómo sabe el servidor que debe extraer image.png de la carpeta / pictures cuando visita el sitio web y busca la carpeta / system / files / images en su navegador web? Un llamado enlace simbólico es el tipo que es responsable de este comportamiento. En algún lugar de tu sistema, hay un enlace simbólico que le dice a tu servidor "Si un visitante solicita /system/files/images/image.png entonces muéstrale /pictures/image.png".
¿Y cuál es la función de la configuración FollowSymLinks en esto?
FollowSymLinks se relaciona con la seguridad del servidor. Al tratar con servidores web, no puede dejar las cosas indefinidas. Tienes que decir quién tiene acceso a qué. La configuración FollowSymLinks le dice a su servidor si debería o no seguir enlaces simbólicos. En otras palabras, si FollowSymLinks se deshabilitó en nuestro caso, la búsqueda en el archivo /system/files/images/image.png devolverá, dependiendo de otras configuraciones, el error 403 (acceso prohibido) o 404 (no encontrado).
Estoy usando un servidor Lamp en mi computadora. Empecé a usar laravel php framework. En mi .htaccess, si uso Options + FollowSymLinks, obtengo el error 500. Y si hago un comentario, tengo que usar index.php en todas mis direcciones. Ejemplo:
/~ytsejam/blog/public/index.php/login
Yo uso Arch Linux. ¿Hay alguna manera de resolverlo?
editar: Lo resolví usando hosts virtuales. Y eliminar index.php de application / config / application.php en la carpeta laravel.
Puede intentar buscar en Internet "Opciones de .htaccess no permitidas aquí".
Una sugerencia que encontré (usando Google) es:
Compruebe para asegurarse de que su archivo httpd.conf tiene AllowOverride All.
Un archivo .htaccess que funciona para mí en Mint Linux (ubicado en la carpeta Laravel / public):
# Apache configuration file
# http://httpd.apache.org/docs/2.2/mod/quickreference.html
# Turning on the rewrite engine is necessary for the following rules and
# features. "+FollowSymLinks" must be enabled for this to work symbolically.
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
</IfModule>
# For all files not found in the file system, reroute the request to the
# "index.php" front controller, keeping the query string intact
<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
Espero que esto te ayude. De lo contrario, podría hacer una pregunta en el foro de Laravel (http://forums.laravel.com/), hay algunas personas realmente útiles dando vueltas por allí.
Options FollowSymLinks
parámetros Options FollowSymLinks
permite tener un symlink en su webroot apuntando a algún otro archivo / directorio. Con esta opción desactivada, Apache se negará a seguir dicho enlace simbólico. En su Options SymLinksIfOwnerMatch
se pueden usar Options SymLinksIfOwnerMatch
más seguras: esto le permitirá vincular solo a otros archivos que usted posea.
Si utiliza la directiva Options
en .htaccess
con el parámetro que ha sido prohibido en la configuración principal de Apache, el servidor devolverá el código de error HTTP 500.
Las opciones permitidas de .htaccess
están definidas por la directiva AllowOverride
en el archivo de configuración principal de Apache. Para permitir enlaces simbólicos, esta directiva debe establecerse en All
u Options
.
Además de permitir el uso de enlaces simbólicos, esta directiva también es necesaria para habilitar mod_rewrite en el contexto .htaccess
. Pero para esto, también se puede usar la opción SymLinksIfOwnerMatch
más segura.