正在构建页面中没有重定向的网站

时间:2010-01-15 03:10:14

标签: javascript .htaccess redirect construction

我想知道是否有某种方法可以更改简单的内容,例如htaccess文件,js文件或php文件,然后我网站上的所有网页都会显示正在构建的页面。如果用户必须被重定向,我真的不在乎那么多,但我希望页面的原始URL显示在地址栏中(而不是Under Construction页面中)并且我希望用户被重定向在执行anythign之前,例如JS函数,甚至页面加载。

非常感谢任何帮助!

谢谢!

- 编辑 -

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

2 个答案:

答案 0 :(得分: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]

答案 1 :(得分:0)

htaccess是确定的方式。

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

我无法确定它是否会显示原始网址,您需要尝试一下。

就个人而言,我的整个网站都是PHP,每个页面都是一个模板,其中包括header.php,css.php,menu.php和footer.php,所以一个(可能是一行)更改为common include file is all我需要的。我只提到它,因为你似乎完全重新设计了你的网站,并且可能想考虑做类似的事情(如果你不热衷于原始的PHP,看看像Smarty这样的模板系统)