我在Laravel中有一个应用程序版本,但在通过https访问页面时遇到问题。例如,如果我访问geepay.in,该应用程序将重定向到https
但是,如果我访问http://geepay.in/9860494211,它会重定向到https domain index.php
(同样,如果我从htacess中删除脚本,应用程序将停止工作并抛出错误。)
我的htacess文件包含以下内容
RewriteEngine On
# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
#Hadle https
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</IfModule>
AddHandler application/x-httpd-php55 .php55 .php
我如何解决这个问题?
答案 0 :(得分:0)
您只需通过交换重写和https重定向来解决此问题。在您的情况下,Apache将首先匹配规则2。然后规则1和规则2不再匹配,并且您匹配规则3.由于您已经重写了网址,因此您使用重写的网址执行重定向。
如果您交换规则,将首先匹配重定向。之后,新请求将匹配您的规则2(然后是3),并让Laravel处理请求。