Я бы хотел, чтобы 410 весь каталог - я удалил свой блог

У меня была папка с именем blog на моем сайте. Я удалил все это навсегда. Я хотел бы это сделать. Как сделать 410 всей папкой?

например. мой сайт выглядел так:

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

теперь сообщения 1,2,3,4, мертвы.

так как я могу указать, что все после блога постоянно удаляется. (а также сам блог "blog" )

Мне нужна строка htaccess что-то вроде этого...?

redirect 410/blog/?(.*)

Ответ 1

Директива Redirect - это правильный способ сделать это. Вы должны поместить следующее в конфигурацию вашего виртуального хоста:

Redirect 410 /blog

Если у вас нет доступа к конфигурации виртуального хоста, вы можете поместить его в файл .htaccess в свой корень документа, или я полагаю, что вы можете поместить в файл .htaccess следующее в blog подкаталог:

Redirect 410 /

(я мог бы отключиться от этого, я не уверен, как именно Redirect взаимодействует с разрешением пути в файлах .htaccess)

Ответ 2

Я не думаю, что Redirect - правильный инструмент для этого, так как он соответствует только указанному пути. Просто используйте:

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

Ответ 3

Следующий .htaccess был бы полезен, когда, например, вы переходите от хостинга к другому, и вы переупорядочиваете или удаляете части своей сети.

Поскольку Apache допускает синтаксические коды человека, я использовал постоянный вместо 301 кода и ушел вместо 410. Здесь вы можете проверить коды http-протоколов Определения кода состояния

Я поместил файл в мою папку mynewblogaddress.com root:

.htaccess

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

Ответ 4

Вы можете установить правило перезаписи в .htaccess, чтобы перенаправить все URL-адреса, содержащие "блог" мертвой папки, на пользовательскую страницу "Не существует" или что-то еще. Если вам нужен фактический код, я бы рекомендовал прочитать guide-url-rewriting, чтобы помочь вам понять это.

Ответ 5

Для тех, кто использует 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-страницы (предполагая, что все html-страницы должны быть "ушли" )