वास्तव में अपाचे और वर्डप्रेस के बीच कोई संचार नहीं हो रहा है। "जादू" अपाचे mod_rewrite
नियमों में हो रहा है।
एक मानक वर्डप्रेस इंस्टॉलेशन के लिए, आपके पास निम्नलिखित नियम हैं .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]
यहां, हम अपाचे को किसी भी URL अनुरोध को आंतरिक रूप से पुनर्निर्देशित करने के लिए कह रहे हैं /index.php
।
जब तक: यह रेखा:RewriteCond %{REQUEST_FILENAME} !-f
झूठी नहीं हो जाती। इसका मतलब है किRewriteCond
ऊपर के साथइसे जोड़ने केसाथRewriteRule
, हम अपाचे को सभी अनुरोधों को भेजने के लिए कह रहे हैं/index.php
, लेकिन अगर यह एक मौजूदा फ़ाइल नहीं है ।
इसके अलावा, जब यह रेखा:RewriteCond %{REQUEST_FILENAME} !-d
झूठी हो जाती है। इसका मतलब है किRewriteCond
उपरोक्त के साथइसे जोड़ने केसाथRewriteRule
, हम अपाचे को सभी अनुरोध भेजने के लिए कह रहे हैं/index.php
, लेकिन यह नहीं कि यह एक मौजूदा निर्देशिका है ।
इसलिए अंत में, जब तक यह एक मौजूदा फ़ाइल या मौजूदा निर्देशिका नहीं है, अपाचे आंतरिक रूप से अन्य सभी अनुरोधों को भेज रहा है /index.php
।
तो जैसा कि आप देख रहे हैं, अपाचे और वर्डप्रेस के बीच कोई संचार नहीं हो रहा है। अपाचे सब कुछ खुद तय कर रहा है और हम इसे ऐसा करने RewriteRule
और RewriteCond
निर्देशों का उपयोग करने के लिए कह रहे हैं ।
के बारे में और अधिक पढ़ें mod_rewrite
यहाँ ।