config route以消除url中的index.php

时间:2012-03-02 19:51:36

标签: php .htaccess

我的输入网址需要index.php才能工作

例如,

http://example.com/index.php/classname/function

如何将其更改为http://example.com/classname/function

[]
删除我的配置中的index.php ['uri'] =“index.php”;
将.htaccess作为下面提到的Brendan添加到“system”所在的同一文件夹中 它工作然后! :-D

3 个答案:

答案 0 :(得分:2)

在.htaccess文件中:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]

有关mod_rewrite的更多信息:http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html

答案 1 :(得分:1)

.htaccess(检查是否启用了mod_rewrite)

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>

以及index.php

中的类似内容
$request = trim($_SERVER['REQUEST_URI'], "/\/\\ \t\n\r\0\x0B");
$qPos = strpos($request, '?');
$route = explode('/', substr($request, 0, $qPos===false ? 1024 : $qPos));

答案 2 :(得分:0)

http://www.slimframework.com/除了.htaccess之外,您可能会对此感兴趣。 :)

Slim提供了非常好的路由功能。