alitomo
フォーラムへの返信
-
フォーラム: 使い方全般
返信が含まれるトピック: 特定の条件下でのリダイレクトに関して@rocketmartue さん。おかげさまで私のやりたかったことが無事に出来ました。
大変助かりました。@rocketmartue さん誠にありがとうございました。🙇フォーラム: 使い方全般
返信が含まれるトピック: 特定の条件下でのリダイレクトに関して@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に入れたらたら、うまくいくのかな?と思ったんですが
正規表現が苦手なので困っております。- この返信は1ヶ月、 1週前にalitomoが編集しました。
フォーラム: 使い方全般
返信が含まれるトピック: 特定の条件下でのリダイレクトに関してもしかしたら、新サイトの投稿のパーマリンクは
ドメイン/news/%postname%/
と文字列になっているんですが、
旧サイトのパーマリンクは数値になっているので、
ドメイン/news/12345/
その辺りが関係しているのかもしれません。フォーラム: 使い方全般
返信が含まれるトピック: 特定の条件下でのリダイレクトに関して>1. 具体的に何がどのように上手くいきませんでしたか?
お伝えしている通り古い投稿のリンクの場合、ニュースのトップページ(アーカイブトップ)が表示される。
※存在しないリンクなのだから404にならないと駄目なのに、301になってアーカイブトップが表示される。>どのようなコードを書かれましたか?
お待たせしすいません(bow)原因考えてみました。
ニュースの場合、存在しないニュースの場合に404ステータスではなく、
下に貼ったように301リダイレクトになっていることが原因ですね。
.htaccess のルールを優先させ書くとしたら以下のようになりそうです。
ーーーー新サイト側htaccess抜粋ーーーー
RewriteEngine On 実在するファイル・ディレクトリの場合は何もせずPHPに渡す
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L] 存在しない場合はリダイレクト
RewriteRule ^(.*)$ /hp_archive/$1 [L,R=301]
ーーーー新サイト側htaccess抜粋ーーーー
↑
ファイル・ディレクトリが存在する場合:
PHPのルーティング処理にリクエストが渡されます。
存在しない場合:
Apacheのリダイレクトルールが適用されます。
レスポンス
HTTP/2 301 Moved Permanently
Server: nginx
Date: Sat, 11 Jan 2025 09:29:31 GMT
Content-Type: text/html; charset=UTF-8
Content-Length: 0
Location: https://********.jp/news/
Expires: Wed, 11 Jan 1984 05:00:00 GMT
Cache-Control: no-cache, must-revalidate, max-age=0
X-Redirect-By: WordPress>投稿類の旧サイトのリンクが誘導されないということですが、具体的にどのようなリンクですか?
https://*******.jp/news/12323/ を https://*******.jp/hp_archive/news/12323/ へリダイレクトしたいが実際は https://*******.jp/news/ が表示される。>旧サイトの投稿数は、何記事ありますか?
800くらいあります。- この返信は1ヶ月、 2週前にalitomoが編集しました。
フォーラム: 使い方全般
返信が含まれるトピック: 特定の条件下でのリダイレクトに関して@rocketmartue さんありがとうございます。
実は.htaccessでのリダイレクトも詳しい方に聞いて実行してみたんですが、うまくいきませんでした。
404.phpは<?php
$url = "Location:https://*****/hp_archive" . $_SERVER['REQUEST_URI'];
header($url);
exit();となっています。
問題は投稿のアーカイブページにて存在しない投稿のリンクは404にならず、投稿のトップページに戻ってしまう事だと思いますので、パーマリンクのコアプログラムに詳しいかたにその辺りをお伺いしたいと思っています。
フォーラム: インストール
返信が含まれるトピック: ワードプレスを引っ越ししてから新規投稿でWYSIWYGが出なくなりました。先程上記テストを試したところ、新しいサイトでは問題なく動いたため、ちゃんと動くサイトをコピーして試して見ました。それでもだめだったため、既存サイトのDBを一旦削除してお引越しの前のDB情報をインポートしたら、インポートの際にエラーが出ました。
おそらくそのエラーに気づかずに移行していたんだと思い、再度DBを削除してエラーの原因を潰して再度インポートしたところエラーなくインポート出来ました。
その後管理画面に入って新規投稿したところ問題なくWYSIWYGが!!!
DBの移動は改めて慎重にしなければ行けないなと思いました。因みにエラーの原因は移行先のDBのテーブルプリフィックスに合わせて、移行前のテーブルプリフィックスを置換していたのですが、それでインポートエラーが出たため、テーブルプリフィックスを置換するのではなく、configのプリフィククスを移管元のプリフィックスに変えて対応しました。
CGさん、npsslさん、munyaguさん、いろいろとご教授頂きありがとうございます。
フォーラム: インストール
返信が含まれるトピック: ワードプレスを引っ越ししてから新規投稿でWYSIWYGが出なくなりました。CGさん、npsslさん、munyaguさん、いろいろとご教授頂きありがとうございます。
そもそもテーマがワードプレスに最新バージョンに対応していないのですね。
移行の際のDB情報は保存していますので、再度新しく作った環境に教えて頂いた通りのやり方で移行してみます。
そこで上手く動いたらプレスクなのでそれを元のドメインにコピーしてみます。
いろいろありがとうございます。フォーラム: インストール
返信が含まれるトピック: ワードプレスを引っ越ししてから新規投稿でWYSIWYGが出なくなりました。わかりました。
動作確認したか良く覚えていないので
テストサーバーで確認したワードプレスに再度移行してみて確認してみます。
ありがとうございます。フォーラム: インストール
返信が含まれるトピック: ワードプレスを引っ越ししてから新規投稿でWYSIWYGが出なくなりました。バージョン 4.9.8です。
データベースの移行はcpiのphpmyadminからテーブルを全てDLして、
引っ越しでドメインは変わらなかったので、http://の部分を目視でhttps://に一つづつ変更して移しました。- この返信は6年、 7ヶ月前にalitomoが編集しました。
フォーラム: インストール
返信が含まれるトピック: ワードプレスを引っ越ししてから新規投稿でWYSIWYGが出なくなりました。新しいドメインを追加してテストサイトに同じサーバーの同じ条件SSLでphp7.1でワードプレスをインストールしました。
その上で、プラグインとテーマをそれぞれ導入して確認してみた所問題なくWYSIWYGは出来ました。
ただ、その他の部分でレボリューションスライダーがphp7に対応していない問題など、新たに出ました。また使用しているテーマで
<b>Notice</b>: Hybrid_Widget_Archives で呼び出された WP_Widget のコンストラクターメソッドはバージョン 4.3.0 から非推奨になっています ! 代わりに__construct()
を使ってください。 in <b>/var/www/vhosts/——.com/httpdocs/wp-includes/functions.php</b> on line <b>3916</b><br />
このようなNoticeが出ています。
ただWYSIWYGはちゃんと起動しているようなので、サーバーの問題ではないようです。
フォーラム: インストール
返信が含まれるトピック: ワードプレスを引っ越ししてから新規投稿でWYSIWYGが出なくなりました。CGさんご提案ありがとうございます。
phpのバージョンに関しての流れをご説明しますと
お引越し前のCPIではphp5.36で運用しておりました。
その後SSL化に伴いレッツエンクリプトが使用出来るGMOのVPS[plesk]に移動しました。
移動に伴いphpのバージョンを7.1.21に変更しました。理由はこの機会にphp7にして将来に備えようと思ったからです。
しかし、それにより使用しておりましたall in one event calenderというプラグインに不具合が起き、管理画面に入れない状態になりました。(管理画面に入れないだけで、HPは問題なく表示されています。)そこで、いろいろ調べた所、phpのバージョンが問題になるということがわかったのでphp7.031にphpのバージョンを変更しました。
その後無事管理画面に入れるようになったので一安心していたのですが、前記の通り新規投稿しようと思ったら新規投稿の際にパーマリンクが「?preview=true」、その下には「最新の投稿を表示するページを編集中です。」というメッセージ、投稿するための青いボタンが「レビュー待ちとして送信」という状態でした。
やはりphpのバージョンが怪しいなと思ったので、php5.4.16と5.637にも変更してみましたが、症状は変わりませんでした。
以上がphpのバージョンに関するあらましです。
ご教授よろしくお願いします。フォーラム: プラグイン
返信が含まれるトピック: MW WP Form送信完了画面だけ個別URLを設置。送信完了後、問合せフォームに戻下記内容とほぼ同様でしたが、解決しましたので困っているひとは参考にして下さい。
>入力画面(フロントページ)、確認画面、完了画面をそれぞれ別テンプレートの固定ページで作成し、
>フォームのURLとしてフルパスで設定しました。・やったこと
【URL設定の値】を最初
入力画面URL:http:hogehoge.com
確認画面URL:http:hogehoge.com/confirm
完了画面URL:http:hogehoge.com/thanks
エラー画面URL:http:hogehoge.com/confirmとしていましたが、リダイレクトループの発生は治りませんでした。
スラッシュの有り無しや、フルパス指定をやめても同様でしたが、
下記設定にした所治りました。【正解の設定】
入力画面URL:空白にする
確認画面URL:http:hogehoge.com/confirm
完了画面URL:http:hogehoge.com/thanks
エラー画面URL:http:hogehoge.com/confirm上記設定にした所問題なく、機能するようになりました。
フォームの設置しているページがフロントページだったのかなと思いますが、
同様の原因で悩んでいる方は一度試してみてはいかがでしょうか?フォーラム: プラグイン
返信が含まれるトピック: オリジナルテンプレート内でのmw_wp_formの不具合についてフォーラム: テーマ
返信が含まれるトピック: 自作テンプレートでのサイト内検索の不具合です。自己解決しました。
いつの間にかソースコード全体が
formタグにラップされていました。
ですのでフォームタグ内にフォームタグがあるような格好になっていたため不具合が出ていたようです。フォーラム: テーマ
返信が含まれるトピック: 自作テンプレートでのサイト内検索の不具合です。