[解決済み] サブディレクトリでのパーマリンクの出力について
- このトピックには8件の返信、2人の参加者があり、最後にnanbuにより12年、 12ヶ月前に更新されました。
-
投稿者投稿
-
2012年1月18日 11:13 AM #50948kyokyo参加者
WordPress のバージョン:3.3.1
Welcart のバージョン:1.0.10.1112143
ご利用のテーマ:Welcart Default Theme 1.1
症状を確認したブラウザ:google chrome
サーバー(会社名、サービス名):ファイアーバード
SSLの利用:専用SSL
WordPress のパーマリンク設定:/%category%/%postname%/
はじめまして。
お世話になります。
一点解決できない問題がありますので、お力添えよろしくお願いいたします。
現在、
というようにサブディレクトリにてサイトを運用中です。マルチサイト設定はしておらず、「sub」ディレクトリにwordpressをインストールして、welcartプラグインを使用させていただいております。
問題なのは、ウィジェットの「お勧め商品」や「ベストセラー」に表示される商品のURLが、
http://www.sample.com/item/商品コード/
となってしまうことです。トップページ中央の「お勧め商品」でも同様です。
希望は
http://www.sample.com/sub/item/商品コード/
としたいです。(むしろそうしないと違うページに飛んでしまう)
ウィジェット関連のphpファイルをいじればよいのでしょうか。
お手数ですが、ご教授お願いいたします。
2012年1月19日 8:21 AM #63573nanbuキーマスターこんにちは。
特に何の設定も必要ありません。
/sub/内にwordpress をインストールしますと、通常は/sub/wordpress/index.php となりますが、index.php はwordpress の外に出したということでよろしいでしょうか。
改めてパーマリンクを設定を更新すると、/sub/直下にhtaccessができているはずです。/sub/wordpress/ 内にあるindex.php とhtaccess は念のため削除しておきましょう。
WordPress が正常に動作していれば、URLは正しく生成されるはずです。
2012年1月19日 11:34 PM #63574kyokyo参加者お返事ご丁寧にありがとうございました。
ファイルを確認してみたものの、どうやら説明が少し不足していたようです。
最上位階層(/)にメインのwordpressファイルを展開し、wp-adminやwp-contentフォルダが存在しています。
この階層に「sub」フォルダを作り、その中(/sub)にwordpressファイルが展開されているので/sub/wordpress/index.phpとならず、/sub/index.phpとなっています。
・sub
・wp-admin・wp-admin ・wp-content
・wp-content ・wp-includes
・wp-includes .htaccess
.htaccess index.php
index.php …
…
index.phpと.htaccessを削除してしまうと403エラーとなってしまいます。
なお、固定ページや投稿(商品)ページ自体は、通常通り
http://www.sample.com/sub/category/postname/
と、サブディレクトリ以下のパスで表示されています。
なので、get_permalinkでの取得に問題があるのかな・・・と、
分からないなりに考えたのですが、どうしたらよいでしょうか。
コンテンツ部分の「お勧め商品」のURLについては、
<?php the_permalink() ?>でURL指定していたところを、
直接に
https://www.sample.com/sub/item/<?php usces_the_itemCode(); ?>/
と記述することで解決しました。
また、カテゴリーウィジェットも駄目だったので、
「パーマリンク設定」>オプションのカテゴリーベースに
「sub」と記述することで解決しました。
あとは、「お勧め商品」と「ベストセラー」のウィジェットを何とかしたいところです。
お手数おかけしますが、よろしくお願いします。
2012年1月20日 8:01 AM #63575kyokyo参加者※追記
テーマを「Twenty Eleven 1.3」に変えてみると、普通に
https://www.sample.com/sub/category/postname/
で表示されました。
「Twenty Eleven 1.3」と「Welcart Default Theme 1.1」とでは、パーマリンクの取得に違いがあるのでしょうか?
2012年1月20日 11:09 AM #63577nanbuキーマスタールートにあるWPはパーマリンクを設定していると思いますが、ためしにルートのWPパーマリンクをデフォルトにするとどういう動きになるでしょうか。
2012年1月20日 11:21 AM #63578kyokyo参加者やってみましたが、「/category/postname/」が「/?p=123」と変わった以外、特に変化はみられませんでした。
2012年1月20日 1:02 PM #63579kyokyo参加者試行錯誤してみましたが、どうにもうまくいきませんので、
別のテーマを使用することにしました。
何度もご丁寧に対応していただきありがとうございました。
Welcartプラグインはこれからも使わせていただきますので、
また困ったことがあればお世話になります。
お騒がせいたしました。失礼します。
2012年1月20日 3:40 PM #63580kyokyo参加者原因がわかりましたので報告させていただきます。
運営サイトをhttps://で表示した際に、ウィジェットなどのリンクURLがhttps://にならなかったので、function.phpに下記の記述をしておりました。
これにより、すべてのURLを相対URLにしています。
class relative_URI {
function relative_URI() {
add_action(‘get_header’, array(&$this, ‘get_header’), 1);
add_action(‘wp_footer’, array(&$this, ‘wp_footer’), 99999);
}
function replace_relative_URI($content) {
$home_url = trailingslashit(get_home_url(‘/’));
return str_replace($home_url, ‘/’, $content);
}
function get_header(){
ob_start(array(&$this, ‘replace_relative_URI’));
}
function wp_footer(){
ob_end_flush();
}
}
new relative_URI();
8行目の
return str_replace($home_url, ‘/’, $content);
を
return str_replace($home_url, ‘/sub/’, $content);
とすることで解決しました。
2012年1月23日 1:11 AM #63581nanbuキーマスター原因がわかって良かったです。
-
投稿者投稿
- このトピックに返信するにはログインが必要です。