绕过index.php文件

时间:2011-06-25 15:19:30

标签: php codeigniter frameworks

我有点问题。

我目前正在为正在运行的网站添加网站。现在当前的网站是用一个我无法识别的随机框架编写的,而且由于添加相当广泛,我正在使用CodeIgniter从头开始。

现在我将我的文件添加到服务器下,并且文件名为'business.php'。 通过'www.mysite.com/business.php'调用我的页面效果很好但是当我尝试使用像'www.site.co/business.php/myController'这样的CI调用来调用控制器时,我收到错误通过服务器默认调用index.php文件,这有另一种方法来处理URI。

任何人都可以请告诉我如何绕过原始文件?

tnx的时间和帮助。

3 个答案:

答案 0 :(得分:5)

在项目根目录中创建.htaccess文件并粘贴...

DirectoryIndex index.php
RewriteEngine On
RewriteCond $1 !^(index\.php|robots\.txt|favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php/$1 [L,QSA]

接下来转到“config / config.php”

/*
|--------------------------------------------------------------------------
| Index File
|--------------------------------------------------------------------------
|
| Typically this will be your index.php file, unless you've renamed it to
| something else. If you are using mod_rewrite to remove the page set this
| variable so that it is blank.
|
*/
$config['index_page'] = 'index.php';

将此更改为

$config['index_page'] = '';

这就是......

您的网址:

http://www.stackoverflow.com/index.php/my_controller/my_function/param1/param2

变为

http://www.stackoverflow.com/my_controller/my_function/param1/param2

希望这会有所帮助!!

答案 1 :(得分:1)

如果您不需要index.php页面,最简单的方法就是删除它。

下一个选项是通过.htaccess文件设置默认的主页/目标网页。使用此文件,您可以将主页设置为您想要的任何内容。

代码看起来像DirectoryIndex index.php index.html site-down.php

将这些文件名更改为最适合您的名称,以及当您访问自己网站时应该更改的默认页面。

答案 2 :(得分:0)

OK!经过一些长期的研究后,我找到了答案。

我所做的是将business.php文件与System和Application文件夹一起移动到一个专用文件夹中,一旦完成,我创建了第二个带有上述代码的.htaccess文件,并将其放入相同的子文件夹。

最后,我没有打电话给'mysite.com/business.php/myController',而是打电话给'site.com/business/business/php/myController'

这样两个站点的工作完全正常!

另一件事,我喜欢它,如果有人可以告诉我在.htaccess文件中需要使用哪些代码来将我所有的长URL更改为更好的URL,我已经尝试了常用命令但是他们没用。

非常感谢你们的尝试。