在基本我有一个表类别,如
|id|name |
|1 |home |
|2 |tutorial|
...
和表格帖子一样
|id|name |cateID|
...
|5 |getting started|2
...
1。如果我在类别中查看(点击)tutorial
,那么网址就像
`index.php/nameOfControllerFile/functionName/2`
2
是表类别的ID。
但我看到我查看的所有网站。它看起来像
category/tutorials.htm or like category/tutorials/
2。如果我查看getting started
帖子,那么网址就像
index.php/nameOfControllerFile/functionName/5
5
是表格帖子的ID。
但我看到我查看的所有网站。它看起来像
category/tutorials/getting-started.htm
以下是struction http://line25.com/category/tutorials
等网站如何将基本网址更改为上面的网址?
修改
如果有两个帖子与
相同的标题是什么?|id|name |cateID|
...
|5 |getting started|2
|8 |getting started|2
...
答案 0 :(得分:0)
请参阅此处的Codeigniter帮助文档:
http://ellislab.com/codeigniter/user-guide/general/urls.html
请参阅名为删除index.php文件
的部分答案 1 :(得分:0)
通过apache服务器中的.htaccess
文件完成,重写url(mod rewrite),例如:
RewriteEngine on
RewriteRule ^(.*)\.html$ $1.php
当您使用.php
提供网址时,上面的行会查找扩展名为.html
的文件,这意味着,如果您在地址栏中写入home.html
,则服务器会查找home.php
文件并将启动它。查看this和this one too。
此外,对于CodeIgniter
,您可以查看this answer。
答案 2 :(得分:0)
.HTACCESS将帮助您重写URL但您必须根据.HTACCESS文件更改配置中的路由文件。
答案 3 :(得分:0)
不知道你在问什么。可能是路线。检查一下:
假设您有一个名为tutorials
的控制器。在该控制器中,您可以使用view
函数查看特定教程,并在教程主页上使用index
函数,您可以在其中查看所显示的第25行链接中的所有教程。
注意:请参阅https://stackoverflow.com/a/9667306/183254,https://www.google.com/search?q=site%3Astackoverflow.com+codeigniter+remove+index.php,此问题中的其他答案等,以了解如何从网址中删除index.php。这个答案的其余部分将假设您已找到该部分(在url中没有index.php)。
这样:
class Tutorials extends CI_Controller{
function index(){
//view all tutorials
}
function view($tutorial_identifier){
//view single tutorial based on $tutorial_identifier
//which can be either an id or a name
}
}
会让你的网址像
http://www.example.com/tutorials/view/5
查看单个教程,
http://www.example.com/tutorials/
查看所有教程。
重要阅读:routes
如果您希望网址看起来更像
http://www.example.com/tutorials/5
对于教程#5,您可以使用类似
的路线$route['tutorials/(:num)'] = "tutorials/view/$1";
如果你想让它看起来更像
http://example.com/tutorials/getting-started
你可以添加像
这样的路线$route['tutorials/(:any)'] = "tutorials/view/$1";
并更改控制器view
功能中的逻辑,以便name
而不是id
查找教程。