htaccess重定向到https时,又有来自vue-router的其他情况

时间:2019-04-06 13:04:41

标签: .htaccess vue-router

我想合并这两个服务器配置:

1)Vue-router docs(以正确显示路径)

 <IfModule mod_rewrite.c>
      RewriteEngine On
      RewriteBase /
      RewriteRule ^index\.html$ - [L]
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule . /index.html [L]
    </IfModule>

2)我也想重定向用户以使用https://,我在线找到了解决方案:

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]

如何连接这两者,以便可以在我的.htaccess文件中使用它们?

1 个答案:

答案 0 :(得分:1)

您可以使用以下规则:

 <IfModule mod_rewrite.c>
  RewriteEngine on
  #enforce https
  RewriteCond %{HTTPS} !=on
  RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
  #rewrite non-existent uris to /index.html
  RewriteRule ^index\.html$ - [L]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule . /index.html [L]
 </IfModule>

如果要将永久重定向(浏览器和搜索引擎已缓存),请在http to https规则中将R更改为R=301