我试图将Codeigniter项目从共享托管服务移至Amazon EC2,并且.htaccess设置遇到一些挑战。这些设置使我不必在URL中包含index.php。我以前的.htaccess如下所示,并且可以与我以前的托管服务提供商一起使用:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /simple.com/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
ErrorDocument 404 /index.php
</IfModule>
现在,通过我的Amazon EC2实例,我可以完全访问LAMP堆栈,并确认已启用Apache Mod_Rewrite模块。
我用两个虚拟主机目录设置了我的EC2实例,每个站点一个。这两个站点均按预期运行其CI应用程序,但是要求index.php位于URL中。
我尝试按照以下方式将我的Amazon EC2公共路径插入.htaccess文件,但还是没有运气:
RewriteBase /ec2-55-27-191-14.compute-1.amazonaws.com/simple/
我确信这是我个人的100%用户错误,非常感谢您的诊断!
最佳答案
要回答我自己的问题...
我最后将Apache文件/ etc / apache / sites-available / default从AllowOverRide = None更改为AllowOverRide = All。