Htaccess重写/重定向.php

I tried to look for an answer for my problem, but i'm not secure to have find it.

In my website i actually use this .htaccess to rewrite the url:

Options -MultiViews
RewriteEngine On

#General rewrite condition 
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]

It work correctly, if i write "www.mysite.com/pagename1"

But, when i make a link from pagename1 to pagename2 (for ex):

<a href="www.mysite.com/pagename2">Link</a>

The browser automatically open to "www.mysite.com/pagename2 .php", then it add the file extention.

Q1: How is it possible?

Q2: How i prevent this?

Thank you all.

try this :

RewriteEngine On

RewriteCond %{THE_REQUEST} ^\w+\ /(.*)\.php(\?.*)?\ HTTP/
RewriteRule ^ http://%{HTTP_HOST}/%1 [R=301]

RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule .* $0.php