Wordpressは、HTACCESSで設定されたGET変数(page_id)をオーバーライドします
1 回答
- 投票
WordPressのURLルーティングは非常に扱いにくいものです.より合理的なものに置き換えられる日を楽しみにしています(そして、私がそれを置き換えるコードを書く人になることを願っていますが、私は逸脱します...)
ただし、最初の問題は.htaccess
ですべてを実行しようとすることだと思います.私はおそらく、私が知っている他の誰よりもURLデザインとURL書き換えの経験が豊富で、.htaccess
でWordPressと戦おうとはしません.あなたはおそらく、現在あなたを夢中にさせている種類の結果しか得られないでしょう.代わりに、WordPress内からURLルーティングを管理し、WordPressが本当に厄介なことをオーバーライドする必要がある場合にフックを使用しようとします.
ただし、あなたが達成しようとしていることを完全に理解し、適切な解決策を規定するために、あなたのサイトにあるURLと必要なURLの完全なマップを確認したいと思います.
最後に、いくつかの関連するQ&を以下にリンクしました.彼らはあなたの質問に直接答えているわけではありませんが、彼らはあなたにいくつかの洞察を与えるかもしれません、そして最後のものは高トラフィックのためにWordPressをスケーリングすることについてです.
WordPress' URL routing is really difficult to work with. I'm looking forward to the day it's replaced with something more rational (and I hope that I get to be the one to write the code to replace it, but I digress...)
However I think your first problem is trying to do everything in .htaccess
. I've probably got more experience with URL design and URL rewriting than anyone else I know and I really wouldn't try to fight WordPress with .htaccess
; you are most likely only going to get the kind of results that are currently driving you crazy. Instead I'd try to manage URL routing from within WordPress and using hooks for when you need to override something WordPress is doing really screwy.
However, for me to fully understand what you are trying to accomplish and prescribe a proper solution I'd want to see a full map of URLs you have on your site and those that you want.
Finally I've linked some related Q&As below. They are not directly answering your question but they might give you some insight and the last one is about scaling WordPress for high traffic.
私は非常に大規模でWordpressを限界まで押し上げているWordPressサイトを持っています.多数のページ/カテゴリと多数の.htaccessルールを使用して、サイトのさまざまなセクションを整理します(大規模な雑誌用です).
ある特定の問題は本当に私を困惑させています. .htaccessには次のルールがあります...
これで、cat/tagページに指定された引数に末尾のスラッシュがない場合、常に機能します.引数の末尾にスラッシュがあり、および問題のタグが「xyz」ページで機能するWordpress以外のテーブルのエントリと一致する場合、Wordpressは、タグが存在する場合でも、代わりにそのページを読み込みます. .
ルールが常に機能することをテストしましたが、機能します. Wordpressは常に正しい$ _GET ['page']の3とタグスラッグを$ _GET ['s1']として取得していますが、上記が当てはまる場合は別のページを表示することにします.
すべてが.htaccess内で行われ、ワードプレスのパーマリンクは完全にオフになっています. WPフォームが使用するように指示されたpage_idに対して決定するのを止めるにはどうすればよいですか.