Codeigniter:在服务器中找不到请求的 URL

Posted

技术标签:

【中文标题】Codeigniter:在服务器中找不到请求的 URL【英文标题】:Codeigniter: The requested URL was not found in the server 【发布时间】:2017-05-01 10:24:39 【问题描述】:

我的英语不好,请考虑一下我的语法错误。

我来自孟加拉国,所以我的客户想要用于 SEO 友好的孟加拉 URL。我试图在 URL 中传递一些特殊的 Unicode 字。

通常一切正常,但是当我通过这种“অর্থনীতি”类型的单词浏览器时,找不到对象。我也使用了 url_encode/url_decode、 allowed_uri_chars 和更多其他建议,但此浏览器消息是相同的。我可以在 URL 中传递这种类型的词吗?

我附上了两张图片。一个是 URL 工作正常,另一个工作不正常。

**** 解决方案 ****

<IfModule mod_rewrite.c> 
   RewriteEngine On 
   RewriteBase /example3/ 
   RewriteCond %REQUEST_FILENAME !-f 
   RewriteCond %REQUEST_FILENAME !-d 
   RewriteRule . /example3/index.php [L] 
</IfModule>

【问题讨论】:

显示控制器功能代码news_details() 公共函数 news_details($news_id) $data = array(); $data['news'] = $this->WelcomeModel->full_news($news_id); $this->load->view('full-news', $data); 【参考方案1】:

在这里你必须改变你的控制器功能。

public function news_details($news_id, $news_slug)

$data = array();
$data['news'] = $this->WelcomeModel->full_news($news_id);
$this->load->view('full-news', $data);

你只需要在你的控制器函数中添加这个参数$news_slug

编辑 1:

这是我尝试过的功能:

function news_details($id, $slug)
    print_r("News Id    : ". $id);
    print_r("<br>");
    print_r("News Slug  : ".$slug);

这就是我的输出:

编辑 2: 根据您提供的字符串的第二个屏幕截图

【讨论】:

kishor10d,兄弟,我用的是 $news_sulg。这里没有参数问题。 Codeigniter URL 不允许使用此类字符 @KhyrulAlam :我会做一些事情并回复你。 @KhyrulAlam :我编辑了我的答案。我设置了一个codeigniter的演示并附上了相同的屏幕截图。这就是你想要的对吗?或者别的什么,让我知道。我的 codeigniter 版本是 3.1.1 您能否将此文本用于您的代码“অর্থনীতি”。将此文本传递给您的 slug 参数。我在等你的结果。 @KhyrulAlam :我将您提供的字符串作为 slug 传递,并将结果屏幕截图附加到答案中。【参考方案2】:

首先确保在 config.php 文件中启用查询字符串

$config['enable_query_strings'] = TRUE;

【讨论】:

我有,但结果是一样的。我也改变了 system>core>URL.php uf8_enabled

以上是关于Codeigniter:在服务器中找不到请求的 URL的主要内容,如果未能解决你的问题,请参考以下文章

在 Doctrine 2 / CodeIgniter 2 中找不到实体模型

问题:在 codeigniter 中找不到类“CI_Config”

我一直在codeigniter的ajax网址中找不到404错误

Codeigniter on xampp 错误:在此服务器上找不到请求的 URL

PHP ActiveRecord - 在模型中找不到关联

我的 Jquery 文件在 laravel 中找不到控制器 [关闭]