【发布时间】:2012-04-04 14:06:04
【问题描述】:
我已经在stackoverflow上阅读了一堆关于这个主题的文章,例如:
CodeIgniter: SEO friendly URLs
Codeigniter routes not working sometimes
我发誓我已经正确设置了所有内容,但是在我输入路由并保存我的应用程序并尝试转到新 URL 甚至旧 URL 后,它们都给了我 404 错误。
我有一个目前看起来像这样的扩展:
搜索/map_view/county
我想看起来像这样:
地图/县
我在 routes.php 文件中编写了以下重新路由,这给了我 404 错误:
$route['search/map_view/(:any)'] = 'map/$1';
为了以防万一我倒着做,我也这样尝试过:
$route['map/(:any)'] = 'search/map_view/$1';
那没有做任何事情,所以我推断我做错了。值得注意的是,我确实让 apache 的 mod_rewrite 更改了我的 url 以从中删除 index.php。不知道这有什么帮助,但我在其他帖子中注意到了很多。
我应该为此在其他地方进行更改吗?我假设如果我输入以前的地址,我应该会自动重新路由到新地址?或者如果我输入新地址,它应该会自动工作?不知道,越来越烦了……
不管怎样,我有很多关于这个东西的问题,但我要从这里开始,然后看看我修复这个问题后是否能在这里找到其余的答案。
编辑 - 我被要求提供更多信息。在这里。
这是 .htaccess 内容
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
目前我没有在 routes.php 文件中定义任何自定义路由,只是因为我无法让它正常工作。
当前控制器是“Search”,方法“map_view”被传递一个变量“county”。所以网址是
http://www.base_url.com/search/map_view/county
我想把这个改成
http://www.base_url.com/map/county
我之前写的所有其他内容仍然适用。再次感谢!
【问题讨论】:
-
您的路线需要与实际路线匹配。
标签: php codeigniter