0

WordPress Webサイト(http://www.raynauds.org)のルートにhtacessファイルがあります。すべての呼び出しを次の場所にリダイレクトする必要があります。

http://www.raynauds.org/?p=2366

に:

http://www.raynauds.org/2012/08/11/dr-maureen-mayes-joins-raynauds-association-medical-advisory-board/

LinxusサーバーでApacheを実行しています。以下のコードは、リクエストをリダイレクトするために何もしていないようです。私は何が間違っているのですか?

# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
Redirect 301 /?p=2366 http://www.raynauds.org/2012/08/11/dr-maureen-mayes-joins-raynauds-association-medical-advisory-board/
4

2 に答える 2

1

書き換えとリダイレクトはどちらも、実行するファイルを探す前に URL に適用されます。

RewriteRules には両方とも、これが URL を変更する最後のルールになることを示す [L] フラグがあるため、RewriteRules の 1 つに一致する URL には Redirect は使用されません。

2 番目の RewriteRule はすべてのリクエストをキャッチするため、リダイレクトは機能しません。次のような RewriteRule でリダイレクトすることもできます

RewriteCond %{QUERY_STRING}  p=2366
RewriteRule . http://www.example.com [R=301,L]

マニュアルで利用可能なフラグも参照してください。

もちろん、このルールは、Wordpress 自体の RewriteCond/RewriteRule 行の前に配置して機能させる必要があります。

于 2013-01-08T22:56:54.023 に答える
0

ステートメントRedirect 301の下の行にルールを移動します。RewriteBase

于 2013-01-08T22:58:07.987 に答える