[英]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.