Ultima modifica:
Salve Ragazzi,
quest'oggi vi scrivo perche ho riscontrato dei problemi nel deployng di una applicazione sviluppata con laravel in un hosting free come altervista.
Allora il problema a quanto ho potuto dedurre si riflette nel rewriting rule per quanto riguarda gli url.
Nella directory public dell'app abbiamo il nostro file index.php che funge come un gestore di rotte, e il file htaccess che riscrive le richieste a seconda delle regole stabilite.
Adesso se in locale mando il seguente indirizzo
Tutto funziona mentre su altervista
Mi ritorna un errore 404 quindi devo necessariamente scrivere cosi:
In questo modo funge e non capisco per quale motivo non funge come in locale, rendendo l'url unfriendly e anche antiestetico.
Quindi ho dedotto che forse è un problema relativo ad altervista o a come il file htaccess, all'interno della directory public, gestiona alcune regole di rewrite.
Nel file htaccess si possono osservare le seguenti regole:
E' un dilemma che mi porto da un paio di settimane e vorrei poterlo risolvere, purtroppo documentandomi non sono riuscito a trovare molto quindi chiedo aiuto a voi sperando possa trovare una soluzione, in tanto vi mostro qualche esempio tra come vengono gestiti gli url in locale e come devo gestirli su altervista per fare in modo che index.php mi ritorni ad una determinata rotta.
Localhost
ALTERVISTA
ALTERVISTA URL Funzionante
Spero che chi lavora con Laravel possa aiutarmi a risolvere questo enigma, anche se credo sia un problema relativo ad altervista.
Grazie anticipatamente!
Volevo aggiungere uno screen della directory root che comunque puo aiutare anche se do per scontato che sapete gia come viene strutturata gerarchicamente una applicazione laravel.
Dir /Public
quest'oggi vi scrivo perche ho riscontrato dei problemi nel deployng di una applicazione sviluppata con laravel in un hosting free come altervista.
Allora il problema a quanto ho potuto dedurre si riflette nel rewriting rule per quanto riguarda gli url.
Nella directory public dell'app abbiamo il nostro file index.php che funge come un gestore di rotte, e il file htaccess che riscrive le richieste a seconda delle regole stabilite.
Adesso se in locale mando il seguente indirizzo
Codice:
http://localhost/imapp/public/ads
Tutto funziona mentre su altervista
Codice:
http://biotek17.altervista.org/imapp/public/ads
Mi ritorna un errore 404 quindi devo necessariamente scrivere cosi:
Codice:
http://biotek17.altervista.org/imapp/public/index.php/ads
In questo modo funge e non capisco per quale motivo non funge come in locale, rendendo l'url unfriendly e anche antiestetico.
Quindi ho dedotto che forse è un problema relativo ad altervista o a come il file htaccess, all'interno della directory public, gestiona alcune regole di rewrite.
Nel file htaccess si possono osservare le seguenti regole:
Codice:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
RewriteEngine On
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
# Send Requests To Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
E' un dilemma che mi porto da un paio di settimane e vorrei poterlo risolvere, purtroppo documentandomi non sono riuscito a trovare molto quindi chiedo aiuto a voi sperando possa trovare una soluzione, in tanto vi mostro qualche esempio tra come vengono gestiti gli url in locale e come devo gestirli su altervista per fare in modo che index.php mi ritorni ad una determinata rotta.
Localhost
ALTERVISTA
ALTERVISTA URL Funzionante
Spero che chi lavora con Laravel possa aiutarmi a risolvere questo enigma, anche se credo sia un problema relativo ad altervista.
Grazie anticipatamente!
Volevo aggiungere uno screen della directory root che comunque puo aiutare anche se do per scontato che sapete gia come viene strutturata gerarchicamente una applicazione laravel.
Dir /Public