我的网站上有一个名为博客的文件夹。 我永久删除了它。 我想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 /?(.*)
答案 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页面都“消失了”)