質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
URL

URL(ユニフォームリソースロケータ)とは、インターネット上のリソース(Webページや電子メールの宛先等)を特定するための形式的な記号の並びの事を言う。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

XAMPP

XAMPP(ザンプ)は、ウェブアプリケーションの実行に必要なフリーソフトウェアをパッケージングしたApacheディストリビューションです。 XAMPPひとつインストールするだけで、Apache、MySQL、PHP、Perlなどのソフトウェアと、 phpMyAdminなどの管理ツール、SQLiteなどのソフトウェアやライブラリモジュールなどを利用することが可能です。

Q&A

解決済

1回答

2056閲覧

add_rewrite_ruleがきかない

nknnqwertv

総合スコア48

URL

URL(ユニフォームリソースロケータ)とは、インターネット上のリソース(Webページや電子メールの宛先等)を特定するための形式的な記号の並びの事を言う。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

XAMPP

XAMPP(ザンプ)は、ウェブアプリケーションの実行に必要なフリーソフトウェアをパッケージングしたApacheディストリビューションです。 XAMPPひとつインストールするだけで、Apache、MySQL、PHP、Perlなどのソフトウェアと、 phpMyAdminなどの管理ツール、SQLiteなどのソフトウェアやライブラリモジュールなどを利用することが可能です。

0グッド

1クリップ

投稿2020/12/20 00:33

本体バージョン5.6での質問です。
前提として、add_rewrite_ruleの勉強として設定のパーマリンクを使えば出来るだろう設定ですが
使わずに設定をしています。
xamppにWPインストールしてテストしています。

カスタマイズしているテーマでリライトがきかなかったため、
一旦別のDBを立てて、まっさらな状態のWP+テーマ「Twenty Twenty」に同じくfunctions.phpへリライトを書いて、パーマリンク空のまま更新とやったのですが、やはりきかない状態です。

php

1function add_my_test_rewrite_rule(){ 2add_rewrite_rule('^blog/([0-9]+)/$','index.php?p=$matches[1]','top');/*投稿*/ 3add_rewrite_rule('^pageview/([^/]+)/$','index.php?pagename=$matches[1]','top');/*固定ページ*/ 4add_rewrite_rule('^pageview/([0-9]+)/$','index.php?page_id=$matches[1]','top');/*固定ページ2*/ 5add_rewrite_rule('^original/$','index.php?post_type=original','top');/*カスタム投稿トップ*/ 6} 7add_action('init','add_my_test_rewrite_rule');

なお、上記add_rewrite_ruleは1回で1つずつテストしてます。
補足として、rewrite_rules_arrayも試したのですがだめで、
設定のパーマリンクは使える状態です。
一応参考書や検索を参考にしたのですが、根本的に記述か利用方法を間違えているだけでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hiok

2020/12/20 03:18

add_rewrite_ruleした後、flush_rules();とかはされてるでしょうか?
nknnqwertv

2020/12/20 04:23 編集

ありがとうございます。 先にinitにflush_rules入れる方法は試してましたがだめでした。 一応(上記にも記載してますが)パーマリンクの保存ボタンの件は手順入れてます。
hiok

2020/12/20 06:31

でしたか。失礼しました。 リライトしたいURLを具体的に記載頂けるでしょうか?
hiok

2020/12/20 06:51

正規表現でマッチしてない可能性があります。 質問欄の「^blog/([0-9]+)/$」の場合、マッチするのは「blog/12345/」となります。 例えば https://example.com/blog/000(post_id) は、最後に「/」がないのでマッチしないはず。
nknnqwertv

2020/12/20 08:36

すいませんそちらは/ありなしで試しても変わりませんでした。 よくよく調べたら「URLバーに直接変換後URLを入力」した場合は変換されました。 管理画面投稿一覧で「表示」のURLで確認しており、そちらがリライト後のものにならなかったため勘違いしておりました。 管理画面側のは全く別の問題だったので閉めさせていただきます。何度もありがとうございました。
guest

回答1

0

自己解決

確認方法が、管理画面一覧での「表示」リンク先を確認する方法を取っていたため、
リダイレクトされていないものと勘違いしておりました。
出力URL自体の変更は、add_filterのpost_link等で直すものだと理解致しましたのでこちらは閉めさせて頂きます。

投稿2020/12/20 08:38

nknnqwertv

総合スコア48

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問