codeigniter .htaccess工作但无法找到控制器

时间:2016-12-27 14:53:54

标签: php codeigniter

我正在使用CI版本3.1.0

并在我的httacces文件中像这样

RewriteEngine on
RewriteCond $1 !^(index\.php|public|\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1

我已将配置文件更改为$config['index_page'] = ''

我正在工作,但CI似乎无法找到从网址请求的控制器。 示例localhost/site/index.php/welcome其工作符合预期,但在使用localhost/site/welcome请求时,我找不到404页面。

3 个答案:

答案 0 :(得分:1)

您可以尝试用

替换最后一行吗?
RewriteRule ^(.*)$ index.php?/$1 [L,QSA]

这有点取决于托管,我也注意到这可能不起作用。是否启用了mod_rewrite或等效项?

如果你的应用程序在目录/ site /中运行,你在$ config ['base_url']中放了什么?

答案 1 :(得分:0)

我正在使用它:

class MySprite(BaseSprite):
    def __init__(self, ...):
        self.pause = 0...

    def update(self):
        if self.pause:
            self.pause -= 1
            return 

def main():
   FRAMERATE = 30
   myobject = MySprite(...)

   while True:
       if ...:
           ...

       elif event.key == pygame.K_q:
             myobject.pause = 3 * FRAMERATE
       for obj in all_my_objs:
             obj.update()

答案 2 :(得分:0)

如果您已按照以下步骤操作:tutorial,则需要在应用所在的路径中将AllowOverride指令设置为all。这是必要的,因为您使用的是.htaccess文件。 More

  

当此指令设置为None且AllowOverrideList设置为   无,.htaccess文件被完全忽略。在这种情况下,服务器   甚至不会尝试读取文件系统中的.htaccess文件。

请记住:

  

如果您有权访问,则应该完全避免使用.htaccess文件   到httpd主服务器配置文件。使用.htaccess文件会变慢   你的Apache http服务器。您可以包含在任何指令中   .htaccess文件最好在Directory块中设置,因为它具有   同样的效果和更好的表现。

这是开发者推荐:Here is