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错误