将Codeigniter项目移动到Amazon EC2,htaccess和ModRewrite问题

时间:2011-03-29 21:22:09

标签: .htaccess codeigniter mod-rewrite amazon-ec2

我正在尝试将我的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%的用户错误,非常感谢您的诊断!

2 个答案:

答案 0 :(得分:6)

回答我自己的问题......

我最终将Apache文件/ etc / apache / sites-available / default从AllowOverRide = None更改为AllowOverRide = All。

答案 1 :(得分:0)

你还试过吗

RewriteBase /

或RewriteBase / simple /

或沿着这些方向?

在我使用的服务器上的交易中,我从来没有把域放入重写基础。只是文件夹