我为我的网站设置了维护页面,因此当用户访问时,会返回503状态并重定向到自定义maintenance.php页面。所以它工作正常,只要我在我的搜索地址栏中手动输入URL,我就能在浏览器中清楚地看到它正确返回503。
问题是,如果有人点击来自推荐人的某些页面的链接,让我们说从Facebook,它会将它们重定向到maintenance.php页面,但由于某种原因,它无法加载CSS文件和与之关联的图像。 CSS文件和图像也突然返回503状态。
我的网站默认情况下也会将“http”页面重定向为使用“https”和“www”。如果我只在“http”中运行相同的页面,CSS文件和图像将加载。
然后,如果我在URL中没有“www”的“https”中运行该页面,该页面将加载CSS文件和图像。
所以只要“https”和“www”都在URL中,页面,它的'CSS文件及其'图像都将返回503.
我的.htaccess文件中配置了我的503状态:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REMOTE_ADDR} !^123\.45\.67\.89$
RewriteCond %{DOCUMENT_ROOT}/maintenance.php -f
RewriteCond %{DOCUMENT_ROOT}/maintenance.enable -f
RewriteCond %{SCRIPT_FILENAME} !maintenance.php
RewriteRule ^.*$ /maintenance.php [R=503,L]
ErrorDocument 503 /maintenance.php
Header Set Cache-Control "max-age=0, no-store"
服务器正在运行Apache。是否有我可以使用的配置,以确保当有人点击URL中包含“https”和“www”的链接时加载CSS文件和图像?
编辑:似乎有这个问题的网页也没有将其网址重定向到maintenance.php。尽管如此,它们仍会显示maintenance.php内容。
答案 0 :(得分:1)
事实证明解决方案很简单。在我的maintenance.php中,我只需要通过在前面添加“/”来改变绝对路径的相对路径而不是CSS文件和图像。
即
原来是:
<link href="css/maintenance.css" rel="stylesheet" type="text/css">
更改为:
<link href="/css/maintenance.css" rel="stylesheet" type="text/css">