人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

.htaccessでページを削除する書き方を教えてください!

Wordpressで運用サイトで、不要なページを約1000ページほど削除しましたがGoogle検索に削除したページが表示されます。

そのため.htaccessでページを削除しようと思っていますが行数が多いため取りまとめて記述したいと思っています。

・例1
http://www.example.com/dobusu/inu/4000 から 4999

・例2
http://www.example.com/dobusu/saru/7000 から 7300 まで

※例1、2は 数字連番の孫ページだけ削除し、その一階層上の子ページは残したいです。
4000番代と7000?7300までを削除し、5000番、6000番代は残すようになります。

・例3
http://www.example.com/sakana/kaisui/●●●●
※例3は数字の連番となる全ての孫ページと一階層上の子ページを削除したいです。

htacessの書き方を教えていただけますでしょうか。

また、記述方法について不明な点があります。
・一部ページのパーマリンクが日本語となっています。htaccessへの記述はエンコードしたほうが良いのでしょうか。

・複数の削除を記述する場合、
RewriteEngine Onは1箇所で良いのでしょうか?
1つの削除に対しRewriteCondとRewriteRuleはセットで、削除数分だけ繰り返すのでしょうか

よろしくお願いいたします。

●質問者: mirailei
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● phplove
●300ポイント ベストアンサー

RewriteEngine On
# 例1
RewriteRule ^/dobusu/inu/4[0-9][0-9][0-9]$ - [R=404,L]
# 例2
RewriteRule ^/dobusu/saru/7[0-3][0-9][0-9]$ - [R=404,L]
# 例3
RewriteRule ^/sakana/kaisui/[0-9]*$ - [R=404,L]



> 一部ページのパーマリンクが日本語となっています。htaccessへの記述はエンコードしたほうが良いのでしょうか
エンコードしましょう。

> RewriteEngine Onは1箇所で良いのでしょうか?
1つの.htaccessに1箇所です。

> 1つの削除に対しRewriteCondとRewriteRuleはセットで、削除数分だけ繰り返すのでしょうか
RewriteCondは次に出現するRewriteRuleにしか作用しませんので、必要なら繰り返し書くことになります。
ただ、RewriteCond自体をOR条件で複数書くことができます。
あと、RewriteRuleのパスに正規表現を使えますので、そもそもRewriteCondが必要ないことも多いかと思います。

まあ、根気よく404を返し続ければそのうちGoogleキャッシュも消えるかと思います。
待てない場合は削除依頼。

というか、不要なページにアクセスがあるということは、適切なページにリダイレクトで誘導してあげるべきだと思います。

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ