2012-03-09 35 views
2

我想用在URL字符串搜索词来实施笨搜索与笨搜索,但我有麻烦允许不允许的URI字符使用URL包含不允许的URI字符

例如(”最主要的问题是) www.example.com/search/find/search_term/collector's版/分类/计算器

基本上找到类别“计算器”

这将引发URI异常错误“珍藏版” - 即使我用它进行编码javascript codeigniter解密它。显然我不想去允许所有角色。

我也希望能够当返回,所以我可以显示在输入框也搜索词来解码我的数据。

回答

1

使用查询字符串,而不是打击CI的提议允许的URI字符:

example.com/search/?search_term=collector's+edition&category=stackoverflow

只要确保你有查询字符串($_GET)功能:

$config['allow_get_array'] = TRUE; // This enables $_GET data 

// The name of this item is misleading, it's not what you might think 
$config['enable_query_strings'] = FALSE; // <-- Ignore this, make sure it's FALSE 

而且抢搜索词:

$query = $this->input->get('search_term'); // No need to decode 
+0

谢谢,我要看看通过上面提到的get例子发送它 – neilakapete 2012-03-09 06:40:32

0

您需要添加“=”你的allowed_uri_chars。你会在你的config/config.php文件中找到该字符串。

它也有可能是。 (点)在那里。尝试添加一个点代替。你需要有一点勇气 和试验找出什么工作。

尝试$config[‘permitted_uri_chars’] = ‘a-z 0-9~%.:?=_\-’;

+0

不知道你在哪里看到=或(点)在我的例子:我正在寻找一个解决方案,而无需修改permitted_uri_chars – neilakapete 2012-03-09 06:23:07

+0

嗯,我不知道..它在这里工作。 – 2012-03-09 07:17:10

+0

花花公子认真,我不知道你是什么关于或者你甚至看 - 感谢尝试,但从来不担心,我已经基本覆盖,并已获得解决,试图 – neilakapete 2012-03-10 01:40:03