2012-12-05 34 views
0

我正在開發在AWS上運行的codeigniter/php Web應用程序。它是一個LAMP棧(Ubuntu的)。 爲了擺脫URL中的index.php,我激活了mod_rewrite並使用.htaccess文件來解決它。將index.php重定向到根用SSL不起作用

我.htacces文件是以下(這是整個文件):

RewriteEngine on 

RewriteCond %{REQUEST_FILENAME} !-f 

RewriteCond %{REQUEST_FILENAME} !-d 

RewriteRule .* index.php/$0 [PT,L] 

一切工作正常和URL中沒有顯示的index.php,而不是在主頁(http://www.example.com),而不是在更深的如http://www.example.com/home/index

一旦我加入/配置SSL重定向停止工作。 主頁將像SSL(https://www.example.com)之前一樣工作,但是沒有更深的URL可以工作。它試圖打開「正確的」url(https://www.example.com/home/index),但是服務器聲稱找不到/ home/index。 它看起來像重寫規則不能正常工作,因爲如果我輸入https://www.example.com/index.php/home/index它工作正常。

我一派,並嘗試了不少重寫規則,但他們沒有做的魔力......

額外的資料片: 我使用Apache 2點可用和sites-啓用爲了將用戶路由到正確的基礎url(因爲我在我的實例上運行了多個應用程序)。

文件的順序是: 第一個文件的答。第一部分是:

<VirtualHost *:80> 
     ServerAdmin [email protected] 

     Redirect permanent/https://www.example.com/ 
     ... 

</VirtualHost> 

該第二文件的第一應該安放部分是:

<IfModule mod_ssl.c> 
<VirtualHost *:443> 
    ServerAdmin [email protected] 

    ServerName www.example.com 

    DocumentRoot /var/www/example 
     ... 

</VirtualHost> 
</IfModule> 

任何想法?我不確定它是否是配置問題或我的應用程序中的某些內容。 任何指針將不勝感激。

回答

0

嘗試在.htacces S檔的代碼。我也在AWS上開發web應用程序,並且像你一樣順利地啓用ssl。

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php/$1 [L] 
+0

謝謝Venkat。不幸的是,它仍然不適用於我...我一直得到404 - 「找不到。所請求的URL/home/about在此服務器上找不到。」這是你的.htaccess文件的全部內容嗎? – user898836

+0

是啊它在我的web應用程序在服務器端工作該死的好... –