I've develop a laravel web application, and I have to upload to a hosting that already have a WordPress application, the file system looks like this:
/..
etc/
public_html/
..
wordpress_files_everywhere
..
tmp/
tmpsite/
I have not access to root folder, online to public_html, so I've created two folder inside public-html (laravel-backend, laravel-frontend).
So What I did is edit index.php in order to point laravel-backend files like this:
require DIR.'/../laravel-backend/bootstrap/autoload.php';
$app = require_once DIR.'/../laravel-backend/bootstrap/app.php';
Also I add this function to register method on app/Providers/AppServiceProvider
$this->app->bind('path.public', function() {
return base_path().'/public_html';
});
But the page still not found, I don't know what I'missing, My suspects is that I have to configure htaccess file in order to point my domain URL to public folder, But I don't know how to do it.
Any clue?
I could fix it by configuring the .htacess file as follows (Following the indications of this link http://enkognedo.com/internet/hosting-and-websites/89-multidomain.html)
RewriteEngine On
RewriteCond %{HTTP_HOST} wordpressUrl$ [NC]
RewriteCond %{REQUEST_URI} !/.*$
RewriteRule ^(.*)$ /$1 [L]
RewriteCond %{HTTP_HOST} laravelAppUrl$ [NC]
RewriteCond %{REQUEST_URI} !^/laravel-frontend/.*$
RewriteRule ^(.*)$ /laravel-frontend/$1 [L]
i really don't kwow if this has any security problem, by solve my issue.
You need to make your url point directly to laravel-frontend/public
and add extra ../
in index.php file. Assuming your public
seats inside of laravel-frontend
:
require __DIR__.'/../../laravel-backend/bootstrap/autoload.php';
$app = require_once __DIR__.'/../../laravel-backend/bootstrap/app.php';
Else, just rename your public folder to laravel-frontend
and replace the existing larqavel-frontend
so both folders are at the root level of public_html
.
Also pay attention to how you type DIR
. I think in laravel index.php
it's typed as __DIR__