繁体   English   中英

将index.php重定向到root不适用于SSL

[英]Redirect index.php to root does not work with SSL

我正在开发在AWS上运行的codeigniter / php Web应用程序。 它是一个LAMP堆栈(ubuntu)。 为了摆脱URL中的index.php,我激活了mod_rewrite并使用.htaccess文件来解决它。

我的.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/指数

添加/配置SSL后,重定向将停止工作。 主页的工作方式与SSL(https://www.example.com)之前的工作方式相同,但是更深层的URL均无效。 它正在尝试打开“正确的” URL(https://www.example.com/home/index),但是服务器声称找不到/ home / index。 似乎重写规则无法正常工作,因为如果我输入https://www.example.com/index.php/home/index,它就可以正常工作。

我已经在Google上搜索并尝试了很多重写规则,但是它们都没有做到这一点……

附加信息:我正在使用Apache 2站点(可用和站点启用),以便将用户路由到正确的基本url(因为我在实例上运行了多个应用程序)。

文件的顺序为:A.第一个文件的第一部分为:

 <VirtualHost *:80> ServerAdmin webmaster@localhost Redirect permanent / https://www.example.com/ ... </VirtualHost> 

B.第二个文件的第一部分是:

 <IfModule mod_ssl.c> <VirtualHost *:443> ServerAdmin webmaster@localhost ServerName www.example.com DocumentRoot /var/www/example ... </VirtualHost> </IfModule> 

任何想法? 我不确定这是配置问题还是应用程序中的问题。 任何指针将不胜感激。

.htacces的文件中尝试此代码。 我也正在像您一样启用ssl并在AWS上顺利开发Web应用程序。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM