Codeigniter - mod_rewrite在生产服务器中不起作用

时间:2011-12-18 19:49:41

标签: codeigniter mod-rewrite production

在生产服务器上设置mode_rewrite时出现以下错误:

尝试使用ErrorDocument处理请求时遇到

404 Not Found错误。

我在应用程序文件夹外面有index.php,因此我将路径设置为$ application_folder&相应的$ system_path。

我的文件夹结构:

  folder_A:
    folder_A1:
      index.php
      js
      css
    folder_A2:
      application
      system

这是文件夹_A1中的htaccess

重写发动机 RewriteCond%{REQUEST_FILENAME}! - f
RewriteCond%{REQUEST_FILENAME}!-d
RewriteRule ^(。*)$ index.php / $ 1 [L]

我已经给了$ config ['index_page'] ='';

我已经尝试将RewriteBase改为'/'以及'path / to / app'但是徒劳无功。

你能找到解决方案吗?

3 个答案:

答案 0 :(得分:1)

据我所知,你的CI文件夹结构应该像这样使用mod_rewrite:

root/.htaccess
root/index.php
root/assets/js
root/assets/css
root/assets/img

root/application
root/system

答案 1 :(得分:0)

您是否有权在.htaccess文件中配置重写规则?对于我的CI应用程序,我在.htaccess中有完全相同的规则,并且它正在运行。你的apache配置文件中是否有类似AllowOverride ALL的行?

答案 2 :(得分:0)

更改.htaccess的文件内容,如下所示:

RewriteEngine开启

RewriteCond%{REQUEST_FILENAME}!-f

RewriteRule ^ index.php [QSA,L]

要求全部拒绝

所有人拒绝