htaccess旧文件与.php新文件没有PHP

Hello everyone my problem is ..
I'm working on codeigniter i'm redirecting all my urls in one controller home

Using this code in application/config/routes.php

$route['(.*)'] = "Home/index";

And any other files that i want run with different controllers

I do something like this

$route['test/get']="test/get";
$route['test/index']="test/index";

And at the end of the route file i add this line

$route['(.*)'] = "Home/index";

Inside of home controller i handle all urls ....

Everything is working fine

My .htaccess file look like this

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]

Now my problem is

I have old site http://www.example.com/

All pages are simple php pages like

http://www.example.com/one.php  
http://www.example.com/two.php  
http://www.example.com/three.php  

This code is running without any php framework

Now new site with same domain http://www.example.com/
Running on php framework codeigniter without .php extension

  http://www.example.com/one
  http://www.example.com/two  
  http://www.example.com/three

Now all this pages or url is handle by one controller

Now what i want When ever any user search in google or any other search engine and they found link something like

http://www.example.com/one.php  

When they click on this link ...
We should redirect them to

http://www.example.com/one

How can we do that

Edit
I have sub route that all sub routes also working from one controller

  http://www.example.com/one/x/y
  http://www.example.com/two/p  
  http://www.example.com/three/q/r/s   

I want to remove .php from the end of the url

You can grab the string before .php and then send a 301 redirect:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^/?([\w\/_\.-]*)\.php$ /$1 [L,R=301]

This way you tell the search engines to update links they have in their systems to use the new ones without losing any SEO reputation you build.

Edit:

RewriteCond %{REQUEST_FILENAME} \.php$

You need to add this RewriteCond to the file to grab all new CodeIgniter routes. This would result in the following overall .htaccess file.

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} \.php$
RewriteRule ^/?([\w\/_\.-]*)\.php$ /$1 [L,R=301]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]

Try this in you .htaccess file

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]

hope it help's...