You should refer to the resources cited in our Apache Forum Charter before continuing. mod_rewrite and regular-expressions syntax is complex and very restrictive, and not subject to being 'guessed at.'
The first "$" in your rule and the space in the [flags] field will both cause your rule to fail.
RewriteRule ^([^/]+)/([^/]+)$ /KC4/index.php?page=$1&subpage=$2 [L]
would likely work better.
Note that [NC] is not needed, since no specific alphabetic characters appear in the pattern.
This rule will work only for requested URLs containing both "variables" as "virtual subdirectories."
If the script will tolerate "subpage=<blank>", then the single rule could be modified to:
RewriteRule ^([^/]+)(/([^/]+)?)$ /KC4/index.php?page=$1&subpage=$3 [L]
which makes the slash and the subpage variable optional.
Otherwise you will need two rules, one for both variables, and one for only the "page" variable.
Note that all links to resources included on your pages must be in server-relative or canonical form, because it is the browser that resolves relative links based on the 'directory level' that it 'sees' in its address bar. As a result, page-relative links will not work, because the browser will be expecting the linked resource to exist in a path relative to /page/.
Therefore, links to images, css, and JavaScript files on your pages should be in the form <img src
="/images/logo.gif"> or <img src="http://www.example.com/images/logo.gif"> and not <img src
="images/logo.gif"> or <img src
="../images/logo.gif">.
Jim