我试图将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。

09-25 18:30
查看更多