.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]
确保在清除浏览器缓存后对其进行测试。
我刚从 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]
确保在清除浏览器缓存后对其进行测试。