2011-12-18 3 views
11

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

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

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

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

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

Мне нужна линия htaccess, что-то вроде этого ...?

перенаправление 410 /blog/?(.*)

+0

Как это связано с программированием каким-либо образом, формой или формой? –

+0

Это не так. Я голосую, чтобы перейти на SF. –

ответ

0

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

+0

правильно, но я не могу найти правильную строку. что-то вроде этого, но это не workign: redirect 410 /blog/?(.*) –

+0

Я бы просто использовал что-то вроде этого: RewriteRule^blog /(.)*$ error.php [NC, L]. Возможно, это не тот точный синтаксис, так как это было довольно давно, так как я использовал переписывание, но что-то вроде этого должно работать. – Amn

10

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

Redirect 410 /blog 

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

Redirect 410/

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

+1

спасибо, я только что сделал это, и это сработало: redirect 410/blog –

+2

@BobbySmith Если этот ответ сработал для вас, не забудьте пометить его как «Принято». – BoffinbraiN

7

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

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

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

В Apache позволяет коды синтаксических человека я использовал постоянную вместо 301 кода и пропал вместо 410. Вы можете проверить коды протокола HTTP здесь Status Code Definitions

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

.htaccess

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

Для тех, кто использует IIS (7 или выше), и наткнулся на этот пост, как я это сделал, так я сделал это с помощью глобального.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'ing Всех HTML страниц должны были быть «ушли»)

Смежные вопросы