0

我已经在我的 Mac 上的 Codeigniter 上构建了一个测试项目(使用 MAMP),现在正试图将它迁移到我的 Linux 机器(ubuntu、LAMP)上,以进行一些测试。

显然,它不会读取 .htaccess 文件,因为如果缺少 index.php 位(在 mac 上它工作得很好),则 URL 不起作用(得到 404)。.htaccess 文件的语法在 LAMP 和 MAMP 上是否应该不同?这是我现在使用的语法:

RewriteEngine On
RewriteCond $1 !^(index\.php|robots\.txt|favicon\.ico|uploads|media|myResources)
RewriteRule ^(.*)$ index.php?/$1 [L]

我在某处读到您应该在编辑.htaccess 后重新启动服务器。问题是,我不知道如何在 Linux 机器上做到这一点。

4

1 回答 1

2

.htaccess由于AllowOverride设置,您的规则将被忽略。你可能想设置

AllowOverride All

此设置属于httpd.conforapache.conf是的,您需要重新启动 apache 服务器才能使此更改生效。稍后您可以在不.htaccess重启服务器的情况下进行修改。

示例配置(我的新虚拟主机模板的一部分):

<VirtualHost *:80>
  # ...other configuration
  <Directory />
    AllowOverride All
    Order allow,deny
    Allow from all
  </Directory>
</VirtualHost>
于 2012-12-02T14:30:33.773 回答