私の.htaccess
ファイルがWordPressの.htaccess
ファイルを傍受しています。
WordPressが動作するためにはどのモジュールとどの設定(.htaccess
で指定)が必要ですか?言い換えれば、WordPressのデフォルトの.htaccess
ファイルはどこにありますか?
これがそのファイルのデフォルトコードです。
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
ここでデフォルトのhtaccessファイルを確認できます。
http://codex.wordpress.org/Using_Permalinks 。
ありがとう。ほとんど役に立たないと思います。
WordPressのファイル形式に.htaccess
は含まれていません。
ルールは save_mod_rewrite_rules()
functionによってファイルに書き込まれ、$wp_rewrite->mod_rewrite_rules()
によって生成されます。
マルチサイトインストールには異なる(より複雑な)規則があり、異なる方法で処理されるようです。
デフォルトの.htaccessがhttps://codex.wordpress.org/htaccessに表示されます。
Freenodeの#wordpressを使って適切なドキュメントを探してください。通常は/topic
にあります。そこに私はキーClass WP_Rewrite
ここ を見つけました、公式のwordpress.orgは最高の誤解を招くようなマーケティングです。とにかく、WPの命名はおそらくApacheのものと同じですが、Apacheの書き換え規則とWPの書き換え規則を混在させないでください。
WP_Rewrite APIの状態
このコンポーネントを使用して、ページビューと処理をトリガーするルールを追加できます。フロントコントローラの全機能は存在しません。 テンプレートファイルのロード方法を書き換え規則に基づいて定義できないことを意味します。
そのため、変更を行うにはAPIを使用する必要があります。意味がよくわからないが、ハードコーディングされた.htaccessファイルを信頼できないことを意味します。WDバージョンが変わっても状況は変わる可能性があります。そのため、APIを使用してください。
傍受
.htaccessファイルが存在する場合、コード ここ にはいくつかの条件があります。文書化されておらず、名前の付け方が理解できないため、推論の100%ではありません。ルールはWP_Rewrite APIを使用することです。WPは将来変更される可能性があります。
たとえば、単純なApache書き換えのRewriteRule ^hello$ Layouts/hello.html [NC,L]
は、明らかにadd_rewrite("^hello$", "Layouts/hello.html")
のようなものです。テストされていませんが、以下のAPIに従うことを試みました。
add_rewrite_rule (line 19)
Add a straight rewrite rule.
see: WP_Rewrite::add_rule() for long description.
since: 2.1.0
void add_rewrite_rule (string $regex, string $redirect, [string $after = 'bottom'])
string $regex: Regular Expression to match request against.
string $redirect: Page to redirect to.
string $after: Optional, default is 'bottom'. Where to add rule, can also be 'top'.
関連