【发布时间】:2014-01-02 02:55:53
【问题描述】:
在我的本地站点中
http://localhost/giftsware/nl/products/details/2382
这是我的产品描述页面的浏览器网址 现在我想要更多用户友好的产品描述页面网址。我想把上面的 url 改成
http://localhost/giftsware/products/2382
我尝试通过添加将所有呼叫路由到详细信息
$route['products/(:any)'] = "nl/products/details/$1";
这是在 routes.php 文件中,但它给了我 404 错误。 可能是什么问题,我该如何解决?
这是我完整的路由文件代码
$route['(:any)/products/(:num)'] = "products/details/$2";
$route['default_controller'] = "pages";
$route['404_override'] = '';
$route['^en/admin/([a-zA-Z_-]+)/(:any)'] = '$1/admin/$2';
$route['^en/admin/(login|logout)'] = 'admin/$1';
$route['^en/admin/([a-zA-Z_-]+)'] = '$1/admin/index';
$route['^nl/admin/([a-zA-Z_-]+)/(:any)'] = '$1/admin/$2';
$route['^nl/admin/(login|logout)'] = 'admin/$1';
$route['^nl/admin/([a-zA-Z_-]+)'] = '$1/admin/index';
$route['admin'] = 'admin';
$route['pages/(:any)'] = "pages/index/$1";
$route['^nl/(.+)$'] = "$1";
$route['^en/(.+)$'] = "$1";
$route['^nl$'] = $route['default_controller'];
$route['^en$'] = $route['default_controller'];
【问题讨论】:
-
您确定在某处没有冲突的路线吗?您的路由看起来是正确的,我看不出它有任何不工作的原因。
-
你能显示完整的 routes.php 文件吗?声明路由的顺序很重要,而且我经常不得不更改它,以免它们发生冲突
-
你有一个名为 nl 的类吗?你有一个名为 products 的方法吗?
标签: php .htaccess mod-rewrite codeigniter-url codeigniter-routing