Context help needed

#1
I've recently installed OpenLiteSpeed and have been trying to transfer everything over from a shared host. I'm trying to turn my .htaccess files into working contexts but haven't been able to work out how to do so, if I visit my website it always returns a 404. Is anyone able to point me in the right direction?

My folder structure is as follows:

├── cgi-bin
├── fcgi-bin
├── html
│ ├── app
│ │ └── folders
│ └── public
│ └── index.php
└── logs
├── access.log
└── error.log

I've got 2 static contexts configured:

URI: /
Location: $VH_ROOT/html
RewriteBase: /
RewriteRules:

RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]
URI: /public
Location: $VH_ROOT/html/public
RewriteBase: /public/
RewriteRules:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?_url=/$1 [QSA,L]

The error log shows the following:

[REWRITE] strip base: '/' from URI: '/'
[REWRITE] Rule: Match '' with pattern '^$', result: 1
[REWRITE] Source URI: '' => Result URI: 'public/'
[REWRITE] Last Rule, stop!
[REWRITE] prepend rewrite base: '/', final URI: '/public/'
[REWRITE] strip base: '/public/' from URI: '/public/'
[REWRITE] Rule: Match '' with pattern '^(.*)$', result: 2
[REWRITE] stat( /usr/local/lsws/vhost/html/public/ ) failed
[REWRITE] stat( /usr/local/lsws/vhost/html/public/ ) failed
[REWRITE] Source URI: '' => Result URI: 'index.php?_url=/'
[REWRITE] append query string '_url=/'
[REWRITE] Last Rule, stop!
[REWRITE] prepend rewrite base: '/public/', final URI: '/public/index.php'

 
#3
Thanks very much for your reply! I've read about the rewrite differences, but still fail to get it working. I've updated the rewrite rules as follows:

RewriteUri: /
Location: $VH_ROOT/html
Rewrite Rules:

RewriteRule ^/$ public/ [L]
RewriteRule /(.*) public/$1 [L]

RewriteUri: /public/
Location: $VH_ROOT/html/public
Rewrite Rules:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^/(.*)$ index.php?_url=/$1 [QSA,L]
The error log shows (when visiting website.com):

[REWRITE] strip base: '/' from URI: '/'
[REWRITE] Rule: Match '' with pattern '^/$', result: -1
[REWRITE] Rule: Match '' with pattern '/(.*)', result: -1
 
Top