我正在为我的客户端部署一个PHP Web应用程序到linux服务器。
他们的linux webserver允许使用通配符子域,服务器上有SSL。 我已经为通配符子域设置了虚拟主机,没有出现问题, 问题是当我尝试在通配符子域上使用http://而不是https://时,它链接到其他URL,它链接到客户端自己的应用程序。 我试着向他们询问他们的服务器设置,重定向非https,他们说他们不知道。 我尝试修改.htaccess以将任何http请求重定向到https,但它也不起作用,我怀疑必须有一个缺少服务器设置导致这种情况。
我对linux网络服务器知之甚少,我真的很困惑,我甚至应该在哪里开始搜索这类问题,我已经尝试了谷歌数天并且找不到任何解决方案。
这是我的.htaccess设置,我把它放在根应用程序上。
RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [QSA]
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301]
第一条规则是从链接中删除index.php,它的工作原理非常好。 第二个是从http重定向到https。
非常感谢任何答案或见解