【问题标题】:URI routing codigniter not workingURI路由codeigniter不工作
【发布时间】:2015-05-23 11:09:53
【问题描述】:

在 route.php 中我尝试了代码

$route['default_controller'] = 'controller';

$route["test"] = 'controller/method/49';

$route["author"] = 'controller/method/48';

$route['404_override'] = '';

as per URI Routing document 

document

 But still url is showing www.example.com/controller/method/48 is not routing

我不知道我在哪里失踪,

.htaccess 文件

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

【问题讨论】:

  • 我认为您误解了重新路由在 CI 中的工作方式。如果您访问www.example.com/test,如果将转到您的controller/method/49,但它会在您的地址栏中显示为www.example.com/test
  • 查看@DrixsonOseña 提交,您是否尝试过www.example.com/testwww.example.com/author url,路由不会更改代码中的url,它允许新的uri 定位您的默认url(控制器/方法/参数)网址

标签: php codeigniter


【解决方案1】:

如果您的网址末尾有 id 号码,则在您的路线中

示例 1

www.example.com/controller/method/48

如果只有数字作为 id,您可以将 (:any) 替换为 (:num)

$route["controller/method/(:any)"] = 'controller/method/$1';

示例 2

www.example.com/test/48

如果只有数字作为 id,您可以将 (:any) 替换为 (:num)

$route["test"] = 'controller/index/$1';
$route["test/update/(:any)"] = 'controller/update/$1';
$route["test/add"] = 'controller/add';

$route["test1"] = 'controller1/index/$1';
$route["test1/update/(:any)"] = 'controller1/update/$1';
$route["test1/add"] = 'controller1/add';

等等。

【讨论】:

  • 嗨野马,但我必须创建 $route["test/(:any)"] = 'controller/method/$1'; $route["test1/(:any)"] = '控制器/方法/$1';用于 seo 目的。需要不同的名称会显示在 url (test, test1,test2)
  • 看到上面的变化就是你的意思。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-06
相关资源
最近更新 更多