htaccess:同一页面的不同网址不起作用

I've got these lines in htaccess file:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?page=$1 [NC]
RewriteRule ^(.*)/(.*)$ index.php?page=$1&article=$2 [NC]

when it comes to address like this /news/test, page variable would be like index.php. any idea how to fix that?

You have (.*) matching in first row which will match for both your scenarios.

Try this out it worked for me in following scenarios:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/(.*)$ /index.php?page=$1&article=$2 [L]
RewriteRule ^(.*)$ /index.php?page=$1 [L]

It worked for:

http://www.example.com/news/test -> http://www.example.com/index.php?page=news&article=test
http://www.example.com/news/ -> http://www.example.com/index.php?page=news&article=
http://www.example.com/news -> http://www.example.com/index.php?page=news

Let me know, if you need to do something else. To test it properly i have added [L,R=302] instead of [L] to see if URL is forming correct or not.