Quindi, ho sviluppato un'applicazione Laravel 5 completamente funzionante e l'ho distribuita sul server del mio cliente, eseguendo Apache2, PHP5 e MySQL. L'app funziona come previsto e gli URL vengono riscritti correttamente. Ora devo semplicemente clonare la mia app su un altro server, che esegue esattamente lo stesso stack. Il problema è che ho bisogno di mettere la mia app in una sottocartella, in modo che sia accessibile tramite URL che corrispondono al pattern domain2.com/movedApp
.Spostare l'applicazione Laravel 5 nella sottocartella server
In altre parole: primo server risponde a:
domain1.com/my/routes
Secondo server ha bisogno di rispondere a:
domain2/movedApp/my/routes
ho cercato di riprodurre esattamente la direttiva VirtualHost che funziona secondo il primo server, aggiungendo /movedApp
dove necessario e aggiungendo RewriteBase
al file .htaccess
nella nuova cartella public
, ma senza alcun risultato.
Ho notato che le rotte siano correttamente seguiti da URL del tipo:
domain2.com/movedApp/public/index.php/my/routes
Ancora ottengo 404 errore sul patrimonio in registro Apache2.
Con la presente viene segnalato il file .htaccess
che si trova nella cartella public
della mia applicazione Laravel funzionante.
.htaccess
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine on
# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule^/index.php [L]
</IfModule>
mi riportano anche il file di configurazione utilizzato dal server web per servire la mia app
default.conf
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/galmaster/public
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/galmaster/public>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
hai avuto successo? – urfusion
Sì, in realtà ho. Inserirò i dettagli non appena avrò un po 'di tempo libero. Sono riuscito a risolvere il problema con solo due file '.htaccess'. – ibanjo
Ho inviato una risposta alla mia domanda per il check-out. Forse la mia soluzione funziona anche per te. – ibanjo