.htaccess CodeIgniter赢得';t在子目录中运行

.htaccess CodeIgniter赢得';t在子目录中运行,.htaccess,codeigniter,routes,.htaccess,Codeigniter,Routes,我在根web目录中运行了一个CodeIgniter安装,我将它复制到名为/dev的子目录中。。。我编辑了config/config.php文件以反映更改,因此现在是这样的: $config['base_url'] = 'http://mysite.com/dev'; $config['sbase_url'] = 'https://mysite.com/dev'; $config['default_email'] = 'noreply@mysite.com'; $config['site

我在根web目录中运行了一个CodeIgniter安装,我将它复制到名为/dev的子目录中。。。我编辑了config/config.php文件以反映更改,因此现在是这样的:

$config['base_url']  = 'http://mysite.com/dev';
$config['sbase_url']     = 'https://mysite.com/dev';
$config['default_email'] = 'noreply@mysite.com';
$config['site_url']  = 'http://mysite.com/dev';
这是我的.htaccess文件:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>

重新启动发动机
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则^(.*)$index.php/$1[L]
当我将鼠标悬停在网站上的任何链接上时,它们都是正确的,例如,“联系我们”页面的链接为www.mysite.com/dev/contact,但当我单击任何链接时,我会收到404错误


我缺少了一些常见的东西吗?

在重写规则中的index.php前面启用
FollowSymlinks
&添加一个
/

<IfModule mod_rewrite.c>
  Options +FollowSymlinks
  RewriteEngine On

  # block hidden directories
  RewriteRule "(^|/)\." - [F]

  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)$ ./index.php/$1 [L,QSA]
</IfModule>

选项+FollowSymlinks
重新启动发动机
#阻止隐藏目录
重写规则“(^ |/)\”-[F]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则^(.*)$./index.php/$1[L,QSA]
另外,我会将
$config['base\u url']=''留空&在构建链接时使用
base\u url()
url帮助程序,这使得移动环境更容易(例如,子目录开发和根级别生产)


。。。当然,还要确保在Apache配置中启用了ModRewrite

启用
FollowSymlinks
&在重写规则中的index.php前面添加一个
/

<IfModule mod_rewrite.c>
  Options +FollowSymlinks
  RewriteEngine On

  # block hidden directories
  RewriteRule "(^|/)\." - [F]

  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)$ ./index.php/$1 [L,QSA]
</IfModule>

选项+FollowSymlinks
重新启动发动机
#阻止隐藏目录
重写规则“(^ |/)\”-[F]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则^(.*)$./index.php/$1[L,QSA]
另外,我会将
$config['base\u url']=''留空&在构建链接时使用
base\u url()
url帮助程序,这使得移动环境更容易(例如,子目录开发和根级别生产)


。。。当然,还要确保在Apache配置中启用了ModRewrite

那没用。。。默认控制器出现,即www.mysite.com/dev解析索引页,但如果您尝试转到任何其他页面,如www.mysite.com/dev/about it 404's,您是否非常确定Apache服务器上启用了ModRewrite?站点的根版本工作正常,我有一个.htaccess文件,可以从URL中删除index.php,它可以工作。请尝试将
RewriteBase/dev/
下面的
RewriteEngine On
添加到.htaccess-我相信这应该可以解决它。似乎不起作用。。。我没有访问httpd.config文件的权限,有没有办法用php测试mod_rewrite?那没用。。。默认控制器出现,即www.mysite.com/dev解析索引页,但如果您尝试转到任何其他页面,如www.mysite.com/dev/about it 404's,您是否非常确定Apache服务器上启用了ModRewrite?站点的根版本工作正常,我有一个.htaccess文件,可以从URL中删除index.php,它可以工作。请尝试将
RewriteBase/dev/
下面的
RewriteEngine On
添加到.htaccess-我相信这应该可以解决它。似乎不起作用。。。我没有访问httpd.config文件的权限,有没有办法用php测试mod_rewrite?你试过了吗:你把.htaccess放在dev目录中了吗?否则它将不起作用;)您是否尝试过:您是否将.htaccess放在了dev目录中?否则它将不起作用;)