web-dev-qa-db-ja.com

WordPressページの下のサブディレクトリにあるWordPress以外のページ

WordPressページである親ディレクトリからアクセスできるWordPress以外のページが欲しいのですが。

たとえば、http://example.com/city/をWordPressページにしたいと思います。しかし、WordPress以外のページをサーバーの/city/pricing/フォルダにアップロードしたいのですが。これを試すと、http://example.com/city/pricing/に移動しても機能しますが、サーバーはhttp://example.com/city/ディレクトリを見てインデックスファイルを探しているため、WordPressは/city/をロードしません。

/city/をWordPressページとして作成し、/city/pricing/をWordPress以外の静的HTMLページとして作成することもできますか?そうでなければ、私は別の解決策ができますが、私はこれが最初に可能であるかどうかを見たかったです。

4
mediocre_bro

@MarkKaplunが示唆しているように、このWordPress以外のファイルをファイルシステムの別の領域にまとめて保存し、そのURLを.htaccessに書き換えることをお勧めします。物理的なディレクトリ構造の中でWordPressのURLを模倣する代わりに - おそらくそれはあなたに(より多くの)問題を引き起こすだけです(あなたはWordPressのフロントコントローラを上書きする必要があるということだけではありません)。

例えば、WordPress以外のページを/city/pricing/index.phpに保存するのではなく、/non-wordress/city-pricing.php/non-wordress/city/pricing/index.php)(開発上、パス構造をコピーするのに役立つ場合)に保存します。ディレクトリ構造はエンドユーザから完全に隠されています。

それから.htaccess _(前WordPressフロントコントローラー(つまり# BEGIN WordPressセクション))では、次のようなことができます。

RewriteRule ^city/pricing/$ /non-wordpress/city-pricing.php [L]

この内部的に/city/pricing//non-wordpress/city-pricing.phpに書き換えます - これはエンドユーザーから完全に隠されています。

しかし、ストレス、これWordPressフロントコントローラの前に行かなければならない、そうでなければあなたは単純に404を得るでしょう。

5
MrWhite

その特定のURLについてそのページをロードするルールをhtaccessに追加し、wordpressルールの前にそのルールを追加することによってそれを行うことができます。そのため、正しいルールを書いている限り、ディスク上の正確にページがある場所に違いはありません。

しかし、私にとっては間違っているように思われます。関連するヘッダーを追加してページをWordpressページテンプレートに変換し、メインページの「下に」他のWordPressページを追加するのと同じように追加してください。 wp_footerおよびwp_headフックを使用できるようになりたいことがすぐにわかります。いずれにしてもそれを終了する可能性が最も高いです。

4
Mark Kaplun