.htaccess .进入灯
我已经在我的mac上建立了一个Codeigniter测试项目(使用MAMP),现在正试图将它迁移到我的Linux机器上(ubuntu,LAMP),以进行一些测试 显然,它不会读取.htaccess文件,因为如果index.php位丢失(在mac上工作正常),URL就不起作用(get 404)。在LAMP和MAMP上.htaccess文件的语法是否应该不同? 这是我现在使用的语法:.htaccess .进入灯,.htaccess,codeigniter,lamp,.htaccess,Codeigniter,Lamp,我已经在我的mac上建立了一个Codeigniter测试项目(使用MAMP),现在正试图将它迁移到我的Linux机器上(ubuntu,LAMP),以进行一些测试 显然,它不会读取.htaccess文件,因为如果index.php位丢失(在mac上工作正常),URL就不起作用(get 404)。在LAMP和MAMP上.htaccess文件的语法是否应该不同? 这是我现在使用的语法: RewriteEngine On RewriteCond $1 !^(index\.php|robots\.txt|
RewriteEngine On
RewriteCond $1 !^(index\.php|robots\.txt|favicon\.ico|uploads|media|myResources)
RewriteRule ^(.*)$ index.php?/$1 [L]
我在某个地方读到,您应该在编辑.htaccess后重新启动服务器。问题是,我不知道如何在Linux机器上执行此操作。您的
.htaccess
规则因设置而被忽略。你可能想设置
AllowOverride All
此设置属于httpd.conf
或apache.conf
,是的,您需要重新启动apache服务器才能使此更改生效。稍后您可以修改.htaccess
w/o服务器重启
配置示例(新虚拟主机模板的一部分):
#…其他配置
允许超越所有
命令允许,拒绝
通融
编辑.htaccess
时无需重新启动任何内容,只需重新启动apache配置文件。尝试从第三个字符中删除?
字符line@Vlakarados第一个提示是正确的,但是删除?
的建议没有任何意义,因为它有足够的意义,在将项目上传到生产服务器后,我曾经为此而挣扎过一次。我不知道为什么会发生这种情况,但我在windows上的.htaccess没有问题,但我不得不删除卡米尔centosThanks上的?
。我找到了这两个文件,但看不到该将此设置放在何处/etc/apache2/httpd.conf
是一个空文件(可以吗?),在/etc/phpmyadmin/apache.conf
中,我没有找到一行引用AllowOverride的内容。我只是在任何地方添加这一行吗?空的httpd.conf
完全可以(在我的Debian
installaltions上有相同的内容)。。。您可以将AllowOverride All
放在您的apache.conf
中,使其成为全局的,或者放在VirtualHost
中,用于特定的VirtualHost。。。在这两种情况下,将其放在目录中
。。。看到我的最新答案我回来告诉全世界我终于成功了,当我在这里看到你的编辑。(:我的案例中的相关文件是/etc/apache2/sites available/default
。谢谢你的帮助,Kamil!
<VirtualHost *:80>
# ...other configuration
<Directory />
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>