URLの整形についてお伺いします。
サーバはヘテムル、apacheで、wordpressでサイトを構築しています。
カスタムフィールドで県(prefecture)、ジャンル(genre)を設定し、
http://xxx.com/北海道/イタリアン/my_shop1.html
にアクセスした際に
http://xxx.com/my_shop1.html?prefecture=北海道&genre=イタリアン
で出力されるページにアクセスしたいのです。
アドレスバーには http://xxx.com/北海道/イタリアン/my_shop1.html と表示させたい、ということです(日本語が挟まってくるのは気持ち悪いのですがご要望なのでこのまま参る予定です)。
mod_rewrite を用いるのが良いかと思っているのですが、
OXY NOTES様の「Apacheのmod_rewriteモジュールの使い方を徹底的に解説( http://oxynotes.com/?p=7392 )」
や、「動的URLを静的URL」をキーワードに検索したりした結果、
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase /xxx.com/ RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /xxx.com/index.php [L] </IfModule> # END WordPress RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)/(.*)/(.*)\.html$ ^$3\.html?a=$1&b=$2 [L]
と書いてみたのですがうまく行かず、404になります。
BEGIN WordPress〜END WordPressの部分はwordpressによって自動的に作られた部分です。
抜けや間違い、根本的な勘違いなどご指摘いただければと思います。
よろしくお願いします。
追記(2/19):
wordpressのfunctionを使う方法を検討しております。
function authorUrlRewrite(){
add_rewrite_rule('shop/([.])/([.])/([.*]).html$' , '$matches[3].html?prefecture=$matches[1]&genre=$matches[2]','top');
}
add_action( 'init', 'authorUrlRewrite' );
と記載してみましたがやはり動きません。
お知恵を拝借できないでしょうか。よろしくお願いします。
★★追記2(2/19)
解決の方法が思い当たらなかったので仕様の方を変えることになりました。
ご回答いただいた方ありがとうございました。
回答のご準備頂いていた方、いらっしゃったら申し訳ありません。
いつかまた同じような問題にぶつかるかもしれませんので改めてお伺いいたします。
ありがとうございました。
★★★追記3(2/20)
仕様が変わって変わった結果結局やらざらるを得なくなったので継続して調査中です。
こちら http://doshiroutonike.com/web/wordpress/wp-custom/868/ とその参照先
http://www.webdesignleaves.com/wp/wordpress/159/
http://www.warna.info/wp-content/uploads/2012/10/wordbench-chiba20121014.pdf
を見ながら
function authorUrlRewrite(){
// echo 'done';
add_rewrite_rule('restaurant/([^/]+)/?$', 'index.php?area=$matches[1]', 'top');
}
add_action( 'init', 'authorUrlRewrite' );
で、
http://xxxx.jp/test/restaurant/hokkaido
で
http://xxxx.jp/test/restaurant/?area=$hokkaido
の内容が表示できるところまで来ました。
若干、プラグインの内容や設定も変えているので直撃で参考にならないこともあるかもしれませんが、上記3URL、特に大曲様のPDFはこれを理解せずにリライトを進めようとしていたことを申し訳なく思っております。本件未解決ですが、今後同じことでつまずく方いらっしゃったら先にこちらご参照いただくのが良いかと思いました。
引き続き状況記載します。
★★★★追記4(2/21)
おかげさまで自己解決しましたのでコメント追加しております。
ありがとうございました。
★★★★★追記5(2/22)
何か別の問題が発生しそう
…を解決する課程で、本件そのものの解決策を含めてごく一般的な方法で解決したのでさらに追記しています。
回答6件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。