Php codeigniter仅从url获取一位数的参数

Php codeigniter仅从url获取一位数的参数,php,codeigniter,url-routing,Php,Codeigniter,Url Routing,我有一个我想不出来的问题 我正在从数据库中检索公司记录。 一些公司有一位数的ID,而另一些公司有2或3位数的ID 如果我使用以下url查看公司:domain.com/company/view/3, 该公司将上市。 当我向该公司添加联系人时,url如下所示:domain.com/contact/add/3 一切正常 然而,对于有2或3位数字的公司,情况如下: 如果我使用以下url查看公司:domain.com/company/view/54 这家公司的上市情况会很好。 当我向该公司添加联系人时,U

我有一个我想不出来的问题

我正在从数据库中检索公司记录。 一些公司有一位数的ID,而另一些公司有2或3位数的ID

如果我使用以下url查看公司:
domain.com/company/view/3
, 该公司将上市。 当我向该公司添加联系人时,url如下所示:
domain.com/contact/add/3
一切正常

然而,对于有2或3位数字的公司,情况如下:

如果我使用以下url查看公司:
domain.com/company/view/54
这家公司的上市情况会很好。 当我向该公司添加联系人时,URL如下所示:
domain.com/contact/add/5
。 所以,它去掉了最后一个数字(4)

如果您需要,这是我的控制器:

public function add($id) {

            if (isset($_POST["add"]))
        {
            $this->Equipment_model->add($id);
            redirect('company/view/'.$id);
        }
    $data['locations']  = $this->Equipment_model->get_locations($id);
    $data['data'] = $id;
    $this->load->view('templates/header');
    $this->load->view('equipment/add', $data);
    $this->load->view('templates/footer');

}
你知道这是什么原因吗

编辑:htaccess

AddHandler application/x-httpd-php53 .php
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond $1 !^(index\.php|css|font|img|js|themes)
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
我的路线如下所示:

$route['default_controller'] = "Home";
$route['logout'] = "auth/logout";
$route['login'] = "auth/login";
//$route['(:any)'] = '';
$route['404_override'] = 'error/error_404';
更新2:
为了简化事情,我制作了一个快速视频并上传到twitch,这样你们就可以看到我在说什么了

听起来你可能是在为你的联系人而不是你的公司取回身份证。您是否检查了该逻辑?

是否有任何自定义路由规则?您还可以在根目录中发布.htaccess文件的mod_rewrite部分吗?是什么生成了该URL?我编辑了它以包含我的路由和htaccess。谢谢你。另外,当你在浏览器中键入URL时,它会重定向吗?在我将根htacess发布到wordpress时再次编辑。是的,它没有获取联系人逻辑,本例中的联系人id是一个3位数的id,我已经证实它确实是从参数中删除了数字。我刚刚上传了一段视频,显示了这个问题: