Codeigniter 中的 URI 路由禁止 403

Noa*_*ich 3 codeigniter

我正在尝试使用 Codeigniter 设置到我网站上页面的路由,但我只是收到 403。我不明白为什么。

路由配置文件中的代码是:

$route['photo/(:num)'] = "viewphoto/view/$1";
$route['photo'] = 'photo';

$route['photos'] = "photospage/index";
$route['photos'] = 'photos';

$route['default_controller'] = 'homepage';
$route['homepage'] = 'homepage';
Run Code Online (Sandbox Code Playgroud)

当访问 mysite.com/photo/2(例如)时,它工作正常,主页也是如此。但是当访问 mysite.com/photos 时,我只收到 403 Forbidden 错误消息。

我无法解决这个问题,路由设置与 mysite.com/photo/2 路由完全相同。

它指向的控制器称为 photospage,其内部的函数称为 index。

如果我访问 mysite.com/photos/index 它可以工作......

非常感谢任何帮助:)

编辑:

将路由配置文件更改为以下内容,但当我访问 mysite.com/photos 时它仍然不起作用。我将控制器功能更改为“视图”而不是“索引”,但它仍然无法工作:(

$route['photos'] = "photos/view";
$route['photo/(:num)'] = "viewphoto/view/$1";
$route['default_controller'] = 'homepage';
Run Code Online (Sandbox Code Playgroud)

不过,主页和 photo/$id 仍然可以正常工作。

Jak*_*kub 5

你的重写规则应该是:

RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
Run Code Online (Sandbox Code Playgroud)

您必须index.php从您的帐户中删除您的条目/application/config/config.php

验证设置是否正确,403 禁止错误可能是由于错误的.htaccess重写造成的。