.htaccess 如何使用htaccess设置整个网站维护模式

6qqygrtg  于 2022-11-16  发布在  其他
关注(0)|答案(3)|浏览(158)

我发现这个代码htaccess禁用整个网站(维护模式):

Options +FollowSymlinks
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !/offline.php$
RewriteRule .* /offline.php [R=307,L]

现在,在我的offline.php页面中,我有一个css和js文件的链接,比如:

<link rel="stylesheet" href="include/css/error.css">
<script src="include/js/file.js"></script>

当我使用上面的代码设置维护模式时,offline.php页面被加载,但是没有css和js,我如何允许加载这两个文件呢?
我认为这是有用的禁用网站为每个人除了我的ip,这样我就可以更新网站,这是可能的吗?

wr98u20j

wr98u20j1#

我找到了一个博客,包含您的问题的答案,请检查此site
以下示例取自上述站点。
如果域的根目录中还没有.htaccess文件,请创建一个文件并添加以下代码。

RewriteEngine On

# Add all the IP addresses of people that are helping in development
# and need to be able to get past the maintenance mode.
# One might call this the 'allow people list'
RewriteCond %{REMOTE_HOST} !^83\.101\.79\.62
RewriteCond %{REMOTE_HOST} !^91\.181\.207\.191

# Make sure the maintenance mode only applies to this domain
# Example: I am hosting different sites on my server
# which could be affected by these rules.
RewriteCond %{HTTP_HOST} ^nocreativity.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.nocreativity.com$

# This is the 'ignore file list'. It allows access to all
# files that are needed to display the maintenance mode page.
# Example: pages, css files, js files, images, anything.
# IMPORTANT: If you don't do this properly, visitors will end up with
# endless redirect loops in their browser.
RewriteCond %{REQUEST_URI} !/offline\.htm$
RewriteCond %{REQUEST_URI} !/css\/style\.css$
RewriteCond %{REQUEST_URI} !/images\/logo\.png$

# Rewrite whatever request is coming in to the maintenance mode page
# The R=302 tells browsers (and search engines) that this
# redirect is only temporarily.
# L stops any other rules below this from executing whenever somebody is redirected.
RewriteRule \.*$ /offline.htm [R=302,L]
oxiaedzo

oxiaedzo2#

这是一个很好的答案,但下面是它的代码,以防链接消失:

RewriteEngine On

# Add all the IP addresses of people that are helping in development
# and need to be able to get past the maintenance mode.
# One might call this the 'allow people list'
RewriteCond %{REMOTE_HOST} !^83\.101\.79\.62
RewriteCond %{REMOTE_HOST} !^91\.181\.207\.191

# Make sure the maintenance mode only applies to this domain
# Example: I am hosting different sites on my server
# which could be affected by these rules.
RewriteCond %{HTTP_HOST} ^nocreativity.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.nocreativity.com$

# This is the 'ignore file list'. It allows access to all
# files that are needed to display the maintenance mode page.
# Example: pages, css files, js files, images, anything.
# IMPORTANT: If you don't do this properly, visitors will end up with
# endless redirect loops in their browser.
RewriteCond %{REQUEST_URI} !/offline\.htm$
RewriteCond %{REQUEST_URI} !/css\/style\.css$
RewriteCond %{REQUEST_URI} !/images\/logo\.png$

# Rewrite whatever request is coming in to the maintenance mode page
# The R=302 tells browsers (and search engines) that this
# redirect is only temporarily.
# L stops any other rules below this from executing whenever somebody is redirected.
RewriteRule \.*$ /offline.htm [R=302,L]
ioekq8ef

ioekq8ef3#

步骤1:在根目录中创建一个文件'. maintence',如.htaccess
步骤2:将此代码放入文件

<?php $upgrading = time();?>

步骤3:保存文件。然后您可以看到默认的维护消息“暂时无法进行计划维护。请稍后再查看。”
如果您想拥有自己的警告消息,请执行以下操作:
创建一个'maintenance.php'文件并将其放置在您的wp-content目录中,wordpress使用此文件在您设置的任何强制维护期间显示。

相关问题