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>