我们有一个客户正在关门。我们希望将所有进入其域的流量重定向到新页面 index.html,其中 _img 子目录中有一些图像。(该页面解释了发生的事情,当前客户对当前订单的期望等)
我已经阅读了有关可能使用 HTTP 410 Gone 作为向机器人等技术解释该站点不存在、不回来并且不提供转发地址的最佳方式的信息。在 .htaccess 文件中执行此操作并将用户引导到新的 index.html 的最佳方法是什么?
我们有一个客户正在关门。我们希望将所有进入其域的流量重定向到新页面 index.html,其中 _img 子目录中有一些图像。(该页面解释了发生的事情,当前客户对当前订单的期望等)
我已经阅读了有关可能使用 HTTP 410 Gone 作为向机器人等技术解释该站点不存在、不回来并且不提供转发地址的最佳方式的信息。在 .htaccess 文件中执行此操作并将用户引导到新的 index.html 的最佳方法是什么?
您可以为此使用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 之后可用。
您可以像这样简单地使用 .htaccess 文件:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_URI} !.*index\.php
RewriteRule (.*) /index.php
</IfModule>
这要简单得多:
RedirectMatch temp .* http://www.newdomain.com/newdestination.html
它将每个请求重定向到 newdestination.html。
请注意,如果您指向与源相同的域,则会出现无限循环并且这将失败。不过,这很好地指向一个新域。