My htaccess file is supposed to rewrite the URLs but it is not doing so, It recognize the re-written URL but do not convert a URL according to the rule.

here is the rules that I wrote in htaccess file and I think it is correct because it shows no error.

RewriteBase /
RewriteRule ^oriental-id-([0-9+])$ /index.php?page=article&id=$1 [L]
RewriteRule ^heap-([0-9]+)$ /index.php?page=category&id=$1 [L]
the parameter id may be any numeric.

It never show any Server Misconfigured error (Error 500) it means there is no error in the script.

When I go to the URL "" I want the URL to be rewritten as "" but it doesnt rewrite it, it simply shows the "".

Now when I go to the URL it show the page located at,

Clearly, it is recognizing the pattern but not actually rewriting the URL.
Any hint on the possible error ?