为什么我的路由不在CodeIgniter中工作?

I have already read a bunch of the articles on stackoverflow about this topic, such as:

CodeIgniter: SEO friendly URLs

Codeigniter routes not working sometimes

And I swear I have set up everything correctly, but after I put the route in and save my app, and attempt to go to the new URL, or even the old one, they both give me a 404 error.

I have an extension that currently looks like this:

search/map_view/county

that I want to look like this:

map/county

I wrote the following reroute in the routes.php file, which gives me the 404 error:

$route['search/map_view/(:any)'] = 'map/$1';

And just in case I was doing it backwards, I also tried it like this:

$route['map/(:any)'] = 'search/map_view/$1';

That didn't do anything, so I've deduced i did that incorrectly. A thing of note is that I do have apache's mod_rewrite changing my url's to drop the index.php from it. Don't know how that's helpful, but I've noticed it a lot in the other posts.

Am I supposed to change something somewhere else for this? I'm assuming that if I type in the previous address, I should get automatically rerouted to the new one? Or if I type in the new address, it should work automatically? I don't know, it's getting really annoying...

Anyhow, I have a lot of questions about this stuff, but I'm going to start here and then see if I can find the rest of the answers here after I fix this one.

EDIT - I've been asked to include more info. Here it is.

Here's the .htaccess content

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]

Currently I don't have any custom routes defined in the routes.php file, just because I can't get it to work correctly.

The current controller is "Search", with the method "map_view" being passed a variable "county". So the url would be

http://www.base_url.com/search/map_view/county

I want to change this to

http://www.base_url.com/map/county

Everything else I've previously written still applies. Thanks again!

You want your url looks like map/country .

In your routes.php

$route['map/(:any)'] = 'search/map_view/$1';
$route['map'] = 'search/map_view';

And be sure your controller name is Search.php.Also class name is Search that extends CI_Controller and method name map_view() (must be public function)

Look CI Controller Guide for detailed information