没有index.php的Codeigniter控制器和方法无法正常工作

时间:2016-10-18 10:55:48

标签: apache .htaccess codeigniter

尝试了Stackoverflow上列出的所有可能的解决方案 - 但是没有用。在这里会有一些帮助。

让应用程序运行如下:

本地主机/ BDL

将默认控制器设为'测量'

现在我正在调用Measurementments控制器中名为measurement_add的方法,我得到了404。 如果我使用localhost / bdl / index.php / measurements / measurement_add调用它 - 它可以工作 - 但不是这样。

我的.htaccess文件如下:

RewriteEngine on
RewriteRule ^([a-z0-9_-]+)\.html$ /bdl/index.php/page/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(index\.php|asset|robots\.txt)
RewriteRule ^(.*)$ /bdl/index.php/$1 [L]

我的httpd.conf文件是:

AllowOverride All

并取消评论: LoadModule rewrite_module modules/mod_rewrite.so

无法弄明白。任何帮助将不胜感激。

由于

2 个答案:

答案 0 :(得分:0)

请在.htaccess

中使用以下代码
    RewriteEngine On
RewriteCond %{REQUEST_URI} ^/system.*
RewriteRule ^(.*)$ index.php?/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?/$1 [L]
ErrorDocument 404 index.php

并在配置文件中使用以下代码 $ config [' index_page'] =''

答案 1 :(得分:0)

首先使用phpinfo()函数在你的apache中启用mod_rewrite。

在httpd.conf里面做以下更改

    选项FollowSymLinks     AllowOverride All     允许所有人

在config.php文件集中 $ config ['index_page'] =''

在应用程序的根目录下的.htaccess中添加以下代码。

RewriteEngine on
AddType application/x-shockwave-flash .swf
#RewriteBase /
RewriteCond $1 !^(index\.php|resources|MobileSiteImage|robots\.txt|flash)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]