您可以使用以下代码从您的网址中删除 index.php。
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
但是为了进一步缩短您的 url,您需要通过 codeIgniter 起诉路由重映射功能。您可以在 URL 路由下的codeigntier 用户指南中清楚地找到它。
路由规则在您的 application/config/routes.php 文件中定义。在其中您将看到一个名为 $route 的数组,它允许您指定自己的路由条件。可以使用通配符或正则表达式指定路由
Wildcards
典型的通配符路由可能如下所示:
$route['product/:num'] = "catalog/product_lookup";
在路由中,数组键包含要匹配的 URI,而数组值包含它应该重新路由到的目标。在上面的示例中,如果在 URL 的第一段中找到文字单词“product”,并且在第二段中找到数字,则使用“catalog”类和“product_lookup”方法。
您可以匹配文字值,也可以使用两种通配符类型:
(:num) 将匹配仅包含数字的段。(:any) 将匹配包含任何字符的段。
注意:路由将按照定义的顺序运行。较高的路线总是优先于较低的路线。例子
以下是一些路由示例:
$route['journals'] = "blogs";
第一段中包含单词“journals”的 URL 将被重新映射到“blogs”类。
$route['blog/joe'] = "blogs/users/34";
包含段 blog/joe 的 URL 将被重新映射到“blogs”类和“users”方法。ID 将设置为“34”。
$route['product/(:any)'] = "catalog/product_lookup";
第一个段为“product”的 URL,第二个段中的任何内容都将重新映射到“catalog”类和“product_lookup”方法。
$route['product/(:num)'] = "catalog/product_lookup_by_id/$1";
第一个段为“product”,第二个段为数字的 URL 将被重新映射到“catalog”类,“product_lookup_by_id”方法将匹配作为变量传递给函数。