我想410一个完整的目录 - 我删除了我的博客

时间:2011-12-18 01:16:02

标签: .htaccess http-status-code-410

我的网站上有一个名为博客的文件夹。 我永久删除了它。 我想410它。 我如何410整个文件夹?

e.g。我的网站看起来像这样

example.com/blog/mycoolpost1/
example.com/blog/mycoolpost2/
example.com/blog/mycoolpost3/
example.com/blog/mycoolpost4/

现在帖子1,2,3,4已经死了。

所以如何指定博客后的所有内容都被永久删除。 (以及文件夹'博客'本身)

我需要一个像这样的htaccess行......?

重定向410 / blog /?(.*)

5 个答案:

答案 0 :(得分:11)

Redirect directive是执行此操作的正确方法。您应该在虚拟主机配置中添加以下内容:

Redirect 410 /blog

如果您无权访问虚拟主机配置,可以将其放在文档根目录中的.htaccess文件中,或者我相信您可以将以下内容放入.htaccess文件中blog子目录:

Redirect 410 /

(我可能不在乎,我不确定Redirect文件中.htaccess与{{1}}文件中的路径分辨率的确切关系

答案 1 :(得分:7)

我不认为Redirect是正确的工具,因为它只匹配指定的路径。只需使用:

RewriteEngine On
RewriteBase /
RewriteRule ^blog/ - [G]

答案 2 :(得分:5)

例如,当您从主机移动到另一个主机并重新排序或删除部分网络时,以下 .htaccess 将非常有用。

由于Apache允许人类语法代码,我使用永久而不是301代码,消失而不是410.您可以在此检查http协议代码Status Code Definitions

我将文件放在我的root mynewblogaddress.com文件夹中:

的.htaccess

Redirect permanent /wordpress http://www.mynewblogaddress.com/blog/
Redirect gone /gallery2   
Redirect permanent /directory2 http://directory2.mynewblogaddress.com

答案 3 :(得分:0)

您可以在.htaccess中设置重写规则,将包含死文件夹“blog”的所有网址重定向到自定义“不存在”错误页面或其他任何内容。如果您需要实际代码,那么我建议您阅读guide-url-rewriting以帮助您解决这个问题。

答案 4 :(得分:0)

对于那些使用IIS(7或更高版本)并且像我一样偶然发现这篇文章的人来说,这就是我使用global.asax完成它的方式:

void Application_BeginRequest(object sender, EventArgs e)
{
    HttpApplication app = sender as HttpApplication;

    if (app.Request.Url.PathAndQuery.IndexOf("/mydirectory") > -1)
    {
        Response.StatusCode = 410; Response.End();
    }
}

我碰巧在寻找目录中的所有页面,但我可以做类似的事情,比如定位所有的html页面(假设410'所有html页面都“消失了”)