2009-12-29 167 views
4

我们有一个客户正在关门。我们希望将所有进入其域的流量重定向到带有_img子目录中几张图片的新页面index.html。 (该页面解释发生了什么,当前客户可以期望什么与他们当前的订单等).htaccess将所有流量重定向到一个页面(410 Gone)

我读过关于可能使用HTTP 410作为技术解释到机器人等的最佳方式,该网站是不在那里,不会回来,也不会提供转发地址。在.htaccess文件中执行此操作的最佳方式是什么,并将用户引导至新的index.html?

+0

[.htaccess 301将所有页面旧域重定向到新域上的单个页面]的可能重复(http://stackoverflow.com/questions/15057146/htaccess-301-redirect-all-pages-on-old新域名上的单个页面) – mattdm 2014-07-10 03:04:45

回答

10

您可以使用mod_rewrite

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule !^index\.html$ index.html [L,R=410] 

此规则将改写请求不存在的文件的index.html并与响应一起发送410个状态码。但是,这需要Apache 2作为R = 4XX仅可因为Apache 2

+0

R = 4xx在浏览器中工作吗?我尝试了一次,无法使其工作,但它*可能*我使用的是Apache 1.3。 – ceejayoz 2009-12-29 18:11:39

+0

@ceejayoz:一切都是在服务器端完成的。客户只是得到回应。 – Gumbo 2009-12-29 18:26:05

+0

如果和我一样,R = 410给出Apache错误,尝试使用<?php头(“HTTP/1.0 410 Gone”)重定向到PHP脚本; ?> – Liam 2011-11-14 13:29:15

4

您可以简单地使用.htaccess文件是这样的:

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteCond %{REQUEST_URI} !.*index\.php 
    RewriteRule (.*) /index.php 
</IfModule> 
+0

这对我需要的东西非常合适。谢谢! – Skryn 2013-04-02 14:54:37

0

这简单得多:

RedirectMatch temp .* http://www.newdomain.com/newdestination.html 

它将每个请求重定向到newdestination.html。

请注意,如果您指向与源相同的域,则会出现无限循环,并且会失败。虽然这很好地指向一个新的领域。

相关问题