Я хотел бы 410 весь каталог - я удалил свой блог - PullRequest
11 голосов
/ 18 декабря 2011

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

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

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

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

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

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

redirect 410 /blog/?(.*)

Ответы [ 5 ]

11 голосов
/ 18 декабря 2011

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

Redirect 410 /blog

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

Redirect 410 /

(возможно, я не уверен, как именно Redirect взаимодействует с разрешением путив .htaccess файлах)

7 голосов
/ 18 декабря 2011

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

RewriteEngine On
RewriteBase /
RewriteRule ^blog/ - [G]
5 голосов
/ 19 сентября 2012

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

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

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

.htaccess

Redirect permanent /wordpress http://www.mynewblogaddress.com/blog/
Redirect gone /gallery2   
Redirect permanent /directory2 http://directory2.mynewblogaddress.com
0 голосов
/ 07 февраля 2013

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

0 голосов
/ 18 декабря 2011

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

...