2

現在サイトを更新しており、画像フォルダ名が から/img/に変更されました/images/

/img古いフォルダーにアクセスしようとしているボットなどから、Apache エラー ログに 404 エラーがまだ表示されます。

/img/アクセスの試みを参照するようにリダイレクトする mod_rewrite ルールを作成しようとしています/images/

これは私がこれまでに得たものです:

RewriteRule ^img/?(.*)$ images/$1 [R=301,L]

ただし、http://mysite.com/imgにアクセスするたびに、404 ページが表示されます (/images にアクセスすると受信するはずの禁止ページではなく)。

これは正しいです?それが重要な場合、sslの使用を強制する別のルールがあります。

どうもありがとう

4

1 に答える 1

3

このルールは、ルート フォルダーに配置する必要があります。

Options +FollowSymLinks -MultiViews

RewriteEngine On
RewriteBase /

RewriteCond %{DOCUMENT_ROOT}/images/$1 -d [OR]
RewriteCond %{DOCUMENT_ROOT}/images/$1 -f
RewriteRule ^img/(.*) /images/$1 [R=302,NC,L]

このルールは、 に存在する既存のファイルまたはフォルダーのみをリダイレクトしますhttp://domain.com/images

を使用しているため、以前の試行でキャッシュされた可能性があることR=301に注意してください。そのため、別のブラウザーを使用してみて、機能することを確認してください。

このキャッシングを避けるために、私が使用していることに注意してください。R=302動作していることを確認したら、に変更してR=301ください。

于 2013-09-25T07:09:17.053 に答える