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

.HTACCESS TLS/SSL Auto redirect disrupting normal MVC routing

我刚从 comodo 购买了 tls 证书。在此之前,我的 .htaccess 文件运行良好。我曾经在我的 .htaccess 文件中有这些规则:

Options -MultiViews
RewriteEngine On

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

RewriteRule ^(.*)$ index.php?url= [L,QSA]

但是我想要一个从 http 到 https 的自动重定向;因为我自己做不到,所以我的托管公司帮我在上面添加了以下内容:

RewriteEngine On 
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://www.my-site.com/ [R,L]

他们还评论了我自己的第一行:#Options -MultiViews 现在的问题是正常的页面路由不再适用于 https 地址。看起来像 http://www.my-site.com/somepage 的东西现在看起来像 https://www.my-site.com/index.php?url=somepage 。如果不是引导页面中的某些设置没有到达后者,我也不会担心。

我想要两全其美,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= [L,QSA]

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