htaccess:如何将所有页面重定向到保留页面

时间:2010-03-02 09:08:24

标签: .htaccess

当我们放置第二台服务器时,我必须将网站放下约半小时。使用.htaccess,如何将任何请求重定向到domain.comdomain.com/holding_page.php

3 个答案:

答案 0 :(得分:5)

Options +FollowSymlinks
RewriteEngine on
RewriteCond %{REQUEST_URI} !/holding_page.php$ 

RewriteRule $ /holding_page.php$l [R=307,L]

使用307(感谢Piskvor!)而不是302 - 307 means

  

请求的资源驻留   暂时在不同的URI下。   由于重定向可能会改变   有时,客户应该   继续使用Request-URI   未来的要求。

答案 1 :(得分:1)

当我遇到这个问题时,这里是我使用的解决方案(评论中的简短解释):

# nm /opt/developerstudio12.5/lib/compilers/libCrun.so | grep ex_end_init
# nm /opt/developerstudio12.5/lib/compilers/libCrun.a | grep ex_end_init
00000340 T __1cG__CrunLex_end_init6F_v_

除了附加条件和标题之外,主要的想法是在执行维护工作时使用RewriteEngine On RewriteBase / # do not redirect when using your IP if necessary # edit to match your IP RewriteCond %{REMOTE_ADDR} !^1\.1\.1\.1 # do not redirect certain file types if necessary # edit to match the file types needed RewriteCond %{REQUEST_URI} !\.(jpe?g?|png|gif|css) # this holding page that will be shown while offline RewriteCond %{REQUEST_URI} !^/offline\.html$ # use 503 redirect code during the maintenance job RewriteRule ^(.*)$ /offline.html [R=503,L] ErrorDocument 503 /offline.html # bots should retry accessing your page after x seconds # edit to match your maintenance window Header always set Retry-After "3600" # disable caching Header Set Cache-Control "max-age=0, no-cache, no-store" 状态代码

503代码代表503,这正是维护期间的情况。使用它也将是SEO友好的,因为机器人不会对Service Unavailable页面进行索引,并且它们将在指定的503之后稍后返回以查找实际内容。

在此处阅读更多详情:

答案 2 :(得分:-3)

这样效果更好......

Options +FollowSymlinks
RewriteEngine on
RewriteCond %{REQUEST_URI} !/holding_page.php$ 
RewriteRule $ /holding_page.php [R=307,L]