web-dev-qa-db-ja.com

WordPressに正規のパーマリンクへのリダイレクトを強制させるにはどうすればよいですか?

WordPress 3.1では、投稿にはさまざまな方法で到達できます。たとえば、これらの各投稿は同じ投稿に移動します(/ idはベースです)。

http://myblog.com/id/1008
http://myblog.com/id/1008/my-slug
http://myblog.com/my-slug

WordPressにこれらのバリエーションのすべてをにリダイレクトするように指示するにはどうすればよいですか。

http://myblog.com/id/1008/my-slug

4
qodeninja

リダイレクトされていない投稿に実際に正しいパーマリンクがDBに格納されているかどうかを確認します。投稿が作成された後にパーマリンク構造が変更されているために正規のものを正しく推測できないというバグがあります。

現在のパーマリンク構造で新しい投稿を作成するか、それらのpost_name DBフィールドを編集してください。 (DBのパーマリンクを更新するためのプラグインがあります)

問題は残ります。それはまだ起こっていると思います:

どのようにしてワードプレスで正規のURLにリダイレクトするのですか。リンクを追加するだけでなく、そのページにリダイレクトします。

サイトのパーマリンク構造を変更して、functions.phpにadd_rewrite_ruleを追加しました。古い/02/20/2008/postnameアドレスが受け入れられ、/blob/postnameとして正しく正規化され、ページが正常に見つかるようになりました。

しかし、私が何をしても、正規のURLは古いURLのページのリンクとして表示され、アドレスバーには間違ったURLが表示されます。

リダイレクトは行われません。

Iveは以前は別のWebサイトで作業していましたが、(数十種類のコードを試してみた後で).htaccessリダイレクトを使用しました。

私は.htaccessリダイレクトがうまくいくことを知っています、しかし今、私は "それがしているべきである"ということをいたるところで読んでいます…私は不思議に思っています。そしてもっと正確には "どうやってそれを強制するの?"

2
sergio

WordPressはこれを自動的に行います。 [設定]> [パーマリンク]で設定したパーマリンクの形式は、訪問者が同じコンテンツを示す別のURLにアクセスしたときのURLです。

3
jerclarke

私はリダイレクト(http://urbangiraffe.com/plugins/redirection/)と呼ばれるプラグインを使用します。これにより、URLリダイレクトのルールを設定できます。あなたがWordPressにあなたが望むことをさせることができないならば、これはあなたのニーズに合うかもしれません。

ジェームズ:-)

1
James Culshaw

あなたがsettings-> permalinksで定義されたカスタム構造を持っているなら、それは自動的にあなたのカスタム構造またはあなたがwpバックエンドの設定で選択したものにリダイレクトするなら、何もする必要はありません。

1
phantom.omaga