valet storage_path route php apache laravel lumen

php - storage_path - Apache alias para Laravel y Lumen



route view laravel (3)

Índice de directorio prohibido por la directiva de Opciones: / data / user / service / public

Apache no ha encontrado el archivo especificado por DirectoryIndex - por defecto en index.php index.html y no puede mostrar los indexes siguiendo su configuración ¿Está seguro de que hay uno de estos archivos en /data/user/service/public ?

Asegúrese de esto y agregue y .htaccess en su directorio público

Options +FollowSymLinks RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L]

de http://lumen.laravel.com/docs/installation#pretty-urls

o agregue un bloque de directorio al nivel primario (si hay algún enlace symb)

<Directory /data/user> Options -Indexes FollowSymLinks AllowOverride all Order Allow,Deny Allow from all </Directory>

Estoy tratando de hacer un alias en mi servidor que dirija todo el tráfico que viene a example.com/z/ a un directorio diferente al del resto de example.com , donde example.com tiene una instalación de Laravel 4.2 y example.com/z/ tiene una instalación de Lumen que ejecuta un servicio.

Este es mi vhost original:

<VirtualHost *:80> ServerName example.com DocumentRoot /data/user/public_html/public <Directory /data/user/public_html/public> Options +FollowSymlinks AllowOverride All </Directory> </VirtualHost>

Y este es el vhost con el /z/ alias agregado en:

<VirtualHost *:80> ServerName example.com DocumentRoot /data/user/public_html/public Alias /z/ /data/user/service/public <Directory /data/user/service/public> Options +FollowSymlinks AllowOverride All </Directory> <Directory /data/user/public_html/public> Options +FollowSymlinks AllowOverride All </Directory> </VirtualHost>

Cuando exmaple.com/z/ a exmaple.com/z/ obtengo una página 403 y en los registros este error:

Directory index forbidden by Options directive: /data/user/service/public

Y si voy a cualquier otra cosa bajo /z/ (ejemplo: /z/abcd ) obtengo una página 404, pero se parece a la página Laravel 404 en lugar de a la página Lumen 404.

¿Alguna idea sobre cómo puedo hacer que esto funcione?


El mensaje te dice que no agregaste la opción Indexes

<Directory /data/user/service/public> Options +FollowSymlinks +Indexes AllowOverride All </Directory>

Tu alias probablemente tendrá que ser

Alias /z /data/user/service/public

o

Alias /z/ /data/user/service/public/


Sin probar, pero agregar Require all granted debería eliminar algunas de las restricciones de uso compartido.

La otra cosa a considerar es asegurar que su carpeta sea realmente propiedad del propietario de Apache (www-data, apache, o incluso su nombre de usuario o algo más, dependiendo de su instalación). Si Apache no puede leer la carpeta, se generará un error.

También cambié el Directorio para referirme al Alias ​​en lugar de a la ruta del archivo.

<VirtualHost *:80> ServerName example.com DocumentRoot /data/user/public_html/public Alias /z /data/user/service/public <Directory /z> Options +FollowSymlinks +Indexes AllowOverride All Require all granted </Directory> <Directory /data/user/public_html/public> Options +FollowSymlinks AllowOverride All </Directory> </VirtualHost>