1

我想知道是否有一些方法可以改变一些简单的东西,比如一个 htaccess 文件、一个 js 文件或一个 php 文件,然后我网站上的所有网页都会显示一个正在建设的页面。如果必须重定向用户,我真的不太在意,但我希望页面的原始 url 显示在地址栏中(不是正在建设中的页面之一),并且我希望用户被重定向在执行任何其他操作之前,例如 JS 函数,甚至是页面加载。

任何帮助将不胜感激!

谢谢!

- 编辑 -

好的,所以我已经想出了如何重定向用户,并且效果很好。现在,我唯一的问题是,如何使正在建设的页面的 url 显示为原始页面?我想要做的是,如果用户访问 mysite.com/page.html,我希望用户被重定向到 mysite.com/underconstruction.html,但我希望他们看到 mysite.com/page.html地址栏中的地址。有任何想法吗?我不太确定 mod_rewrite。我现在正在查找一些教程,但我只是在学习如何编辑 htaccess,而 mod_rewrite 对于初学者来说似乎有点复杂,所以如果你对我来说稍微简化一下,它会很有帮助。

4

2 回答 2

2

我们为此使用 apache mod_rewrite。它检查是否存在maintenance.html 文件,并且它确实提供了该页面。

要打开它,我们只需:

> mv maintenance.html.bak maintenance.html 

并再次隐藏它:

> mv maintenance.html maintenance.html.bak 

这是 httpd.conf 的内容:

# Check for maintenance file and redirect all requests
RewriteCond %{DOCUMENT_ROOT}/system/maintenance.html -f
RewriteCond %{SCRIPT_FILENAME} !maintenance.html
RewriteRule ^.*$ /system/maintenance.html [L]
于 2010-01-15T03:16:09.957 回答
0

htaccess 是明确的方法。

至少它满足了您的“我希望在执行任何其他操作之前重定向用户,例如 JS 函数,甚至是页面加载”。

我不能确定它是否会显示原始 URL,您需要尝试一下。

就我个人而言,我的整个网站都是 PHP,每个页面都是一个模板,其中包括 header.php、css.php、menu.php 和 footer.php,所以我只需要对公共包含文件进行(可能一行)更改需要。我只提到它是因为您似乎正在完全重新设计您的网站并且可能想要考虑做类似的事情(如果您不热衷于原始 PHP,请查看像 Smarty 这样的诱人系统)

于 2010-01-15T03:18:27.560 回答