我来自阿根廷,所以,我必须使用“ñ”字符。对于搜索引擎优化,我想在网址中包含“ñ”一些单词,所以,例如,我有:
但是,当我进入“www.domain.com/diseñoweb”时,它不起作用。我需要网址中的“ñ”字符。 有人知道我该怎么办?
谢谢!
答案 0 :(得分:2)
首先,您需要在配置中允许使用该字符,例如,您可以拥有类似的内容......
$config['permitted_uri_chars'] = 'a-z 0-9_\-ñ';
然后,在第231行的system / core / URI.php上,替换
if ( ! preg_match("|^[".str_replace(array('\\-', '\-'), '-', preg_quote($this->config->item('permitted_uri_chars'), '-'))."]+$|i", $str))
到
if ( ! preg_match("|^[".str_replace(array('\\-', '\-'), '-', preg_quote($this->config->item('permitted_uri_chars'), '-'))."]+$|i", utf8_encode($str)))
答案 1 :(得分:2)
您想要做的事情很可能无法正常工作,因为网址不能包含非ASCII字符。有关背景信息,请参阅here。
我认为您需要为URLencoded版本创建路由,如下所示:
$route['dise%c3%b1oweb'] = "webdesign";
然后输入包含
的网址diseñoweb
现代浏览器会自动对字符进行URL编码。
答案 2 :(得分:2)
你可以试试这个
$route[rawurlencode('diseñoweb')] = “webdesign”;