12

サイトにブログというフォルダーがありました。私はそれをすべて完全に削除しました。410にしたいです。フォルダ全体を 410 するにはどうすればよいですか?

たとえば、私のサイトは次のようになりました

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

現在、投稿 1、2、3、4 は死んでいます。

では、ブログの後のすべてを完全に削除するように指定するにはどうすればよいですか。(フォルダ「ブログ」自体と同様)

このようなhtaccess行が必要です...?

リダイレクト 410 /blog/?(.*)

4

5 に答える 5

12

Redirectディレクティブはこれを行う適切な方法です。仮想ホスト構成に以下を入れる必要があります。

Redirect 410 /blog

仮想ホスト構成にアクセスできない場合は.htaccess、ドキュメント ルートのファイルに配置するか、サブディレクトリの.htaccessファイルに次を配置できると思います。blog

Redirect 410 /

(私はそれについてオフになっているかもしれません。ファイルRedirectのパス解決とどのように相互作用するのか正確にはわかりません).htaccess

于 2011-12-18T02:03:21.003 に答える
10

Redirect指定されたパスにのみ一致するため、これには適切なツールではないと思います。使用するだけです:

RewriteEngine On
RewriteBase /
RewriteRule ^blog/ - [G]
于 2011-12-18T19:24:01.187 に答える
5

次の.htaccessは、たとえば、ホスティングから別のホスティングに移動し、Web の一部を並べ替えたり削除したりする場合に役立ちます。

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
于 2012-09-19T08:08:12.937 に答える
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 ページが「なくなる」と仮定すると)。

于 2013-02-06T20:55:54.077 に答える
0

.htaccess に書き換えルールを設定して、デッド フォルダ「ブログ」を含むすべての URL をカスタムの「存在しません」エラー ページなどにリダイレクトできます。実際のコードが必要な場合は、guide-url-rewritingを読んで理解することをお勧めします。

于 2011-12-18T01:22:18.653 に答える