.HTACCESS TLS/SSL自动重定向中断正常MVC路由

.HTACCESS TLS/SSL自动重定向中断正常MVC路由,.htaccess,mod-rewrite,redirect,https,friendly-url,.htaccess,Mod Rewrite,Redirect,Https,Friendly Url,我刚刚购买了tls证书表格comodo。在此之前,我的.htaccess文件工作正常。我以前在.htaccess文件中有以下规则: Options -MultiViews RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?url=$1 [L,QSA] 但是我想要一个从http到https的自动重定向;因为我

我刚刚购买了tls证书表格comodo。在此之前,我的.htaccess文件工作正常。我以前在.htaccess文件中有以下规则:

Options -MultiViews
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php?url=$1 [L,QSA]
但是我想要一个从http到https的自动重定向;因为我自己做不到,所以我的托管公司帮我添加了以下内容:

RewriteEngine On 
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://www.my-site.com/$1 [R,L]
他们也这样评论了我自己的第一行:
#选项-多视图
现在的问题是,正常的页面路由在https地址上不再有效。看起来像这样的东西
http://www.my-site.com/somepage
现在看起来像
https://www.my-site.com/index.php?url=somepage
。如果不是bootstraping页面上的某些设置没有通过后者,我也不会担心


我想要两个世界中最好的,https重定向和我漂亮的url。有什么帮助吗?

http->https
重定向规则保留在顶部:

RewriteEngine On

RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [NE,R=302,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?url=$1 [L,QSA]

请确保在清除浏览器缓存后对其进行测试。

我在浏览器上发现此错误`此网页有重定向循环ERR\u太多\u重定向'。现在,如果没有这样的循环,如果没有像你这样的人,程序员会怎么做。工作很有魅力。万分感谢,不客气。现在您可以从
302
更改为
301
,使其成为永久重定向。