回答:
実際、ApacheとWordPressの間で通信は行われていません。「魔法」はApache mod_rewriteルールで発生しています。
標準の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
この行に注意してください。RewriteRule . /index.php [L]
ここでは、ApacheにURL要求を内部的にリダイレクトするように指示してい/index.phpます。
限り:この行:RewriteCond %{REQUEST_FILENAME} !-fはfalseになります。つまり、これRewriteCondを上記に追加すると、RewriteRuleApacheにすべてのリクエストを送信するように指示しますが/index.php、既存のファイルの場合は送信しません。
また、この行:RewriteCond %{REQUEST_FILENAME} !-dがfalseになったとき。つまり、これRewriteCondを上記に追加すると、RewriteRuleApacheにすべてのリクエストを送信するように指示します/index.phpが、既存のディレクトリの場合は送信しません。
そのため、最終的に、既存のファイルまたは既存のディレクトリでない限り、Apacheは他のすべてのリクエストを内部的に送信します/index.php。
ご覧のとおり、ApacheとWordPressの間で通信は行われていません。Apacheはそれ自体をすべて決定してRewriteRuleおり、RewriteCondディレクティブとディレクティブを使用してそうするように指示しています。
mod_rewriteこちらをご覧ください。
if ( !defined(‘ABSPATH’)) exit;
                    !defined(‘ABSPATH’)trueと評価された場合、WordPress以外がスクリプトにアクセスしようとしていることを意味します(wp-config.phpでABSPATHが定義されているため)。したがって、そのリクエストは無視する必要があります。あれは正しいですか?
                    ABSPATH他のPHPスクリプトでも定義できるため、独自のサーバーで他のスクリプトを許可します。許可されないのは、サーバーの外部(ブラウザーなど)からそのファイルに直接アクセスすることです。そのファイルに直接アクセスすることにより、ユーザーはを定義することができませんABSPATH。