ฉันถือว่าไซต์ของคุณเป็นเวอร์ชันคงที่ (ที่ static.example.com
) เป็นไซต์คงที่ที่ไม่ใช่ WordPress ดังนั้นตัวมันเองจึงไม่สามารถอธิบายถึงการเปลี่ยนเส้นทางใดๆ ได้
ไม่มีอะไร "ผิด" กับกฎของคุณตามที่โพสต์ อย่างไรก็ตาม, ...
การเปลี่ยนเส้นทาง "WordPress" 301 (ถาวร) ก่อนหน้าจาก non-www ไปยัง www จะถูกแคช (อย่างต่อเนื่อง) โดยเบราว์เซอร์ (และอาจเป็นแคชตัวกลาง) สิ่งนี้จะต้องถูกล้างด้วยตนเองสำหรับการเปลี่ยนเส้นทางของคุณ .htaccess
จะมีผลใดๆ
การเปลี่ยนเส้นทางของคุณต้องไปที่ สูงสุด ของ .htaccess
ไฟล์ ก่อน บล็อกรหัส WordPress (เขียนใหม่ไปยังตัวควบคุมด้านหน้า) เช่น ก่อน เดอะ # เริ่มต้น WordPress
เครื่องหมายความคิดเห็น หากคุณวางการเปลี่ยนเส้นทางไว้ที่ส่วนท้ายของไฟล์ (หรือหลังบล็อกโค้ด WordPress) การเปลี่ยนเส้นทางจะถูกดำเนินการเฉพาะเมื่อร้องขอไปยังทรัพยากรแบบคงที่ (และไดเร็กทอรี) URL ของ WordPress (เสมือน) จะไม่เปลี่ยนเส้นทาง เนื่องจากคำขอได้ถูกเขียนใหม่แล้ว index.php
(ตัวควบคุมด้านหน้าของ WordPress)
นอกเหนือ:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^mydomain.com
RewriteCond %{HTTP_HOST} !^www.mydomain.com
RewriteRule ^(.*) https://static.mydomain.com/$1 [R=302,L]
</IfModule>
จัดระเบียบนิดหน่อย...คุณไม่จำเป็นต้องทำซ้ำ RewriteEngine เปิดอยู่
คำสั่งเนื่องจากสิ่งนี้ปรากฏขึ้นแล้ว ภายหลัง ในไฟล์ ในบล็อคโค้ด WordPress
คุณไม่จำเป็นต้อง <IfModule>
กระดาษห่อ การเปลี่ยนเส้นทางนี้จะต้องเกิดขึ้น มันไม่ใช่ ไม่จำเป็น.
ที่สอง เงื่อนไข (เขียนซ้ำ
คำสั่ง) ไม่จำเป็น ไม่จำเป็นต้องตรวจสอบว่า เจ้าภาพ
เป็น ก
และไม่ ข
. (ถ้ามัน ก
ก็คงเป็นไปไม่ได้ ข
เช่นกัน.)
ดังนั้น ข้างต้นสามารถทำให้ง่ายขึ้นเป็น:
# เปลี่ยนเส้นทางโดเมนเอเพ็กซ์ชั่วคราวไปยังโดเมนย่อย "คงที่"
RewriteCond %{HTTP_HOST} ^example\.com
RewriteRule (.*) https://static.example.com/$1 [R=302,L]
# เริ่มต้น WordPress
: แนวทางอื่นๆ ตามมา....