- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在开发一个在 AWS 上运行的 codeigniter/php 网络应用程序。它是一个 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/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 站点可用和站点启用,以便将用户路由到正确的基本 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>
有什么想法吗?我不确定这是配置问题还是我的应用程序中的问题。任何指针将不胜感激。
最佳答案
在您的 .htaccess
文件中尝试此代码。我也在 AWS 上开发 Web 应用程序,并像您一样启用了 ssl,并且进展顺利。
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
关于php - 将 index.php 重定向到 root 不适用于 SSL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13715141/
我是一名优秀的程序员,十分优秀!