首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在使用mvc的htaccess中强制https显示js和css文件的404个错误

在使用mvc的htaccess中强制https显示js和css文件的404个错误
EN

Stack Overflow用户
提问于 2018-08-10 02:13:57
回答 2查看 52关注 0票数 0

我试图用我的.htaccess文件强制使用https,但是当我这样做的时候,布局被破坏了,我在控制台得到了404错误,几乎所有的东西,从css文件到js文件等等,我使用的是MVC结构。

在我的配置文件中,我有:

代码语言:javascript
复制
define('URLROOT', 'https://www.example.com');

在我的头文件中,我所有的css文件都是这样命名的:

代码语言:javascript
复制
<link href="<?php echo URLROOT; ?>/css/style.css" rel="stylesheet">

我的.htaccess看起来像这样:

代码语言:javascript
复制
<IfModule mod_rewrite.c>
 RewriteEngine on
 RewriteRule ^$ public/ [L]
 RewriteRule (.*) public/$1 [L]
 RewriteCond %{HTTPS} off
 RewriteRule (.*) https://www.example.com/$1 [R=301,L]
</IfModule>

另外,如果我输入https://example.com,它会转到https,但如果我只输入example.com,它会默认是http,这也是一个问题。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-08-10 04:04:41

将您的http -> https规则移到顶部:

代码语言:javascript
复制
RewriteEngine on

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

RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]

确保在新浏览器中测试,以避免旧的浏览器缓存。

票数 1
EN

Stack Overflow用户

发布于 2018-08-10 04:20:28

把这个放在你的.htaccess上,确保改变域名,你就设置好了-所有的HTTP请求(即使是那些静态文件)都会被重定向到HTTPS:

代码语言:javascript
复制
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule .* https://www.example.com/%{REQUEST_URI} [R,L]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51773466

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档