我的目录结构是/ var / WWW / CI /与文件夹下的CI的所有文件夹即,应用程序,系统。 曾经创造下CI .htaccess文件。
以下是在.htacess代码。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(index\.php|public|images|robots\.txt|css)
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
不过本地主机/ CI /博客给出了404错误。 任何人都可以引导,以治所在今是错误的?
请尝试以下
首先,请确保您设置类似如下的配置文件..
$config['index_page'] = '';
另外,还要确保mod_rewrite已在httpd.conf文件中启用,之后,覆盖位于项目的根文件夹没有与下面的代码的应用程序文件夹.htaccess文件..
RewriteEngine on
RewriteCond $1 !^(index\.php|public|\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1
请确保您application/config/config.php
,这是设置如下文件:
$config['index_page'] = '';
同样做到这一点:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^CI/(index\.php|public|images|robots\.txt|css)
RewriteRule ^CI/(.*)$ CI/index.php/$1 [L]
</IfModule>
通常,你不把CI在自己的目录,并把application
和system
的根文件夹。
检查你的Apache配置,使其允许覆盖。 如果AllowOverride
设置为None
,重写不会为你工作。
添加以下到您httpd.conf
(不是你的.htaccess)应该解决您的问题
<Directory "/">
AllowOverride All
</Directory>
让我知道,如果它仍然没有工作。
这工作。 虽然,请确保您的mod_rewrite的启用,
- 找到
httpd.conf
下文件C:\wamp\bin\apache\apache2.4.9\conf
了Apache的安装文件夹内的文件夹中。 - 查找以下行
#LoadModule rewrite_module modules/mod_rewrite.so
在httpd.conf
file.You可以通过搜索关键字“mod_rewrite的”这样做很容易。 - 卸下
#
在该行的开始, #
表示该行被注释。 - 然后, 重新启动Apache服务器 。
- 您现在可以看到
mod_rewrite
在加载的模块部分,而这样做phpinfo()
使用下面的步骤,
1.创建在文档根[.htaccess文件myroot_folder/.htaccess
]。
2.在打开配置文件application/config/config.php
并执行以下操作
$config['index_page'] = '';
删除index.php
从自己的基本网址
如果它是$config['base_url']= 'http://localhost/myroot_folder/index.php';
其更改为$config['base_url']= 'http://localhost/myroot_folder/';
现在打开.htaccess
文件,并添加以下代码块
DirectoryIndex index.php
RewriteEngine on
RewriteCond $1 !^(index\.php|images|css|js|robots\.txt|favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php/$1 [L,QSA]
1) make .htaccess file and put this code
RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
2) change
$config['index_page'] = '';
remove index.php present in config.php file
3) rewrite on from your server
如果你还没有工作了,但你这样做了,试试这个:
更改设置AllowOverride无 所有的AllowOverride在在/ etc / apache2的/网站可用/默认的虚拟主机文件
这里详细