Quantcast
Channel: WordPress | サポートフォーラム »投稿一覧
Viewing all articles
Browse latest Browse all 1265

返信先: 特定の条件下でのリダイレクトに関して

$
0
0

@rocketmartue さん色々とご享受頂きありがとうございます。
ご連絡がおそくなり申し訳ありません。

いただいたコードを試してみて結果をお伝えいたします。
まず、

function disable_canonical_for_nonexistent_posts( $redirect_url ) {
// シングル投稿ページで、投稿が存在しない場合
if ( is_singular('post') && ! have_posts() ) {
return false; // canonicalリダイレクトをキャンセル
}
return $redirect_url;
}
add_filter( 'redirect_canonical', 'disable_canonical_for_nonexistent_posts' );

上記コードですが、実行してみましたが、結果的には挙動は同じで、
hoge.jp/news/12323/ を hoge.jp/hp_archive/news/12323/ へリダイレクトしたいが実際は hoge.jp/news/ が表示される。
になりました。

また.htaccess でのリダイレクトですが、

<IfModule mod_rewrite.c>
RewriteEngine On
# /news/以下のリクエストで、実在するファイル・ディレクトリでなければリダイレクト
RewriteCond %{REQUEST_URI} ^/news/(.+)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^news/(.+)$ /hp_archive/news/$1 [R=301,L]
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

この場合新サイトで投稿した投稿も全て/hp_archive/news/に飛ばされてしまいうまくいきませんでした。
また何か方法がありましたらご享受いただければ幸いです。色々とありがとうございます。

※因みに、パーマリンクは
旧サイトはnews/%post_id%
新サイトはnews/%postname%
になっているので、その辺りの条件をhtaccessに入れたらたら、うまくいくのかな?と思ったんですが
正規表現が苦手なので困っております。


Viewing all articles
Browse latest Browse all 1265

Trending Articles