首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

CodeIgniter URLs

默认情况下,CodeIgniter中的URL被设计成搜索引擎和人性化的。CodeIgniter没有使用与动态系统同义的标准“查询字符串”方法来访问URL,而是使用了段基方法:

代码语言:javascript
复制
example.com/news/article/my_article

可以选择启用查询字符串URL,如下所述。

URI段

URL中的段,按照Model-View-Controller方法,通常表示:

代码语言:javascript
复制
example.com/class/function/ID
  • 第一段表示控制器。这应该被引用。
  • 第二段表示类。功能,或方法,这应该被调用。
  • 第三个段和任何附加段表示将传递给控制器的ID和任何变量。

大URI库而URL助手包含使URI数据易于处理的函数。此外,您的URL可以使用URI路由功能,以获得更大的灵活性。

删除index.php文件

默认情况下,index.php文件将包含在您的URL中:

代码语言:javascript
复制
example.com/index.php/news/article/my_article

如果您的Apache服务器国防部[医]重写启用后,您可以轻松地使用。带有一些简单规则的htaccess文件。下面是这样一个文件的示例,它使用“否定”方法,其中除了指定的项外,所有内容都被重定向:

代码语言:javascript
复制
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

在上面的示例中,除针对现有目录和现有文件的HTTP请求外,任何HTTP请求都被视为对index.php文件的请求。

这些特定规则可能不适用于所有服务器配置。

确保从上述规则中排除您可能需要从外部访问的任何资料。

添加URL后缀

在你的config/config.php文件,您可以指定一个后缀,该后缀将添加到CodeIgniter生成的所有URL中。例如,如果URL为:

代码语言:javascript
复制
example.com/index.php/products/view/shoes

您可以选择添加后缀,如.HTML使页面看起来是某种类型的:

代码语言:javascript
复制
example.com/index.php/products/view/shoes.html

启用查询字符串

在某些情况下,您可能更喜欢使用查询字符串URL:

代码语言:javascript
复制
index.php?c=products&m=view&id=345

CodeIgniter可选择地支持此功能,可以在application/config.php档案。如果打开配置文件,您将看到以下项目:

代码语言:javascript
复制
$config['enable_query_strings'] = FALSE;
$config['controller_trigger'] = 'c';
$config['function_trigger'] = 'm';

如果您更改“启用”[医]查询[医]字符串“为真,此功能将变为活动。然后,您的控制器和函数可以使用您设置的“触发器”字来调用控制器和方法:

代码语言:javascript
复制
index.php?c=controller&m=method

如果您使用查询字符串,则必须构建自己的URL,而不是使用URL助手(和其他生成URL的助手,如某些表单助手),因为它们旨在与基于细分的URL配合使用。

扫码关注腾讯云开发者

领取腾讯云代金券