我当前的 URL 是这样的:
www.hostname.com/get_city/
(此 url 已使用路由缩短)
这里 get_city
是我的方法名称,现在我真正想要的是...
1)从 url 中删除 Controller 名称
2)从下拉列表中传递选定的城市值并在 URL 中设置为参数
因此,所需的 url 是:www.hostname.com/california
或 www.hostname.com/newjersey
注意:我知道如何使用路由,但在这种情况下如何制作动态 URL?! 并且请不要给我直接引用 ellislab 文档,因为我已经尝试过这些东西
最佳答案
对于 codeigniter 中的动态路由:
像这样尝试:
在你的 routes.php 文件中复制并粘贴这些代码:
require_once (BASEPATH . 'database/DB' . EXT);
require_once (BASEPATH . 'helpers/url_helper' . EXT);
require_once (BASEPATH . 'helpers/text_helper' . EXT);
$db = &DB();
$query = $db -> get('news');
$result = $query -> result(); //result return all records
foreach ($result as $row) {
$string = rawurlencode(str_replace(' ', '-', strtolower($row -> subject)));
$route[$string] = "controller/news_details/$row->id";
}
因此您可以将 $string 更改为您想要的任何字符串。
然后尝试输入新的 url 并查看路由是否正常。
注意:.htaccess 文件必须删除 url 中的 index.php
希望这对您有所帮助。
关于php - Codeigniter 使 URL SEO 友好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35173719/