如何使用HTaccess为整个网站设置维护模式



我找到了HTCet禁用整个网站的代码(用于维护模式):

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

现在在我的离线页面.php我有一个指向 css 和 js 文件的链接,例如:

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

当我使用上面的代码设置维护模式时,加载了离线.php页面,但没有 CSS 和 JS,我怎么能允许加载这两个文件呢?

而且我认为这对于禁用除我的 IP 之外的所有人的网站很有用,这样我就可以更新网站,这可能吗?

我找到一个包含您问题的答案的博客,请查看此网站

以下示例取自上述网站。

如果您的根目录中还没有 .htaccess 文件域,创建一个域并添加以下代码。如果您已经有一个.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]

这是一个很好的答案,但这是其中的代码,以防链接死亡:

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]

步骤1:在根目录中创建一个文件'.maintence',如.htaccess

步骤2:将此代码放入文件中

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

步骤3:保存文件,然后您可以看到默认维护消息"暂时不可用于计划维护。一会儿再回来查看。

如果您想拥有自己的警告消息,请执行以下操作:

创建一个"维护.php"文件并将其放在您的wp内容目录中,wordpress使用此文件在您设置的任何强制维护期间显示。

相关内容

  • 没有找到相关文章

最新更新