我们的.htaccess
文件具有通常的404行,并且只有一个重写规则,如下所示:
ErrorDocument 404 /404.html
# Suppress www. in URLs
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.coastmetalsolutions.com$ [NC]
RewriteRule ^(.*)$ https://coastmetalsolutions.com/$1 [R=301,L]
</IfModule>
如果您测试的页面找不到https://coastmetalsolutions.com/test,则404页面有效;如果您尝试使用相同的末尾加/斜杠,则会显示混乱的页面。
注意:
哦,嘿,我刚刚在Ctrl-Shift-I中注意到了这些错误:
拒绝应用''中的样式,因为它的MIME类型('text / html')不是受支持的样式表MIME类型,并且启用了严格的MIME检查 和 获取https://coastmetalsolutions.com/test/js/jquery.js净值:: ERR_ABORTED 404
答案 0 :(得分:2)
首先,您遇到404错误,样式表也出现404错误,但是html 404页面正在呈现,而其他浏览器正在执行严格的mime检查。
您可以在样式表中使用绝对网址,也可以尝试使用斜杠。
像href="https://coastmetalsolutions.com/main.css"
或href="/main.css"
您也可以在头部分使用<base href="/">
标签,而不必重写每个css和js标签。
现在服务器中还有另外一件事,您可以像下面这样注释此部分。
#Header set X-Content-Type-Options "nosniff"
但是我不建议这样做会打开像安全链接之类的安全漏洞。
答案 1 :(得分:0)
Apache 404页面将通过多个URL进行响应。例如,以下是所有可能导致404的URL。
https://coastmetalsolutions.com/404
https://coastmetalsolutions.com/404/
https://coastmetalsolutions.com/404/page
https://coastmetalsolutions.com/404/page/
那么诸如<link rel="stylesheet" href="style.css">
这样的相对路径会发生什么?
如果您在:
https://coastmetalsolutions.com/404
它将要求:
https://coastmetalsolutions.com/style.css
如果您在:
https://coastmetalsolutions.com/404/
它将要求:
https://coastmetalsolutions.com/404/style.css
等等。
由于这个原因,您不能真正在这样的404页面中使用相对路径。
使用更特定的URL。
您可以改用相对于域的URL,并使用反斜杠(/style.css
)。
<link rel="stylesheet" href="/style.css">
当然,相对协议(//coastmetalsolutions.com/style.css
)和绝对URL(https://coastmetalsolutions.com/style.css
)也会起作用。
有时会将Web服务器配置为将错误页面重定向到特定的URL,以显示错误页面(例如:https://coastmetalsolutions.com/404
)。
但是,我不推荐这种方法,因为它发出的HTTP请求和流量超出了必要。
这些是您的404 HTML页面在预期CSS和JS投放的结果。一旦更正了这些路径或上传了这些文件,这些错误就应该消失了。