กฎของ WordPress มีข้อยกเว้นเช่นกัน

wordpress apache

wordpress apacheWordPress ก้าวไปข้างหน้าอย่างก้าวกระโดดในแพลตฟอร์มบล็อกโดยขยับเข้าใกล้ระบบการจัดการเนื้อหาที่สมบูรณ์พร้อมการติดตามการแก้ไขการรองรับเมนูแบบกำหนดเองมากขึ้นและคุณลักษณะที่น่าสนใจที่สุดสำหรับฉัน - การสนับสนุนหลายไซต์ด้วยการทำแผนที่โดเมน

หากคุณไม่ใช่คนขี้ยาระบบการจัดการเนื้อหาก็ไม่เป็นไร คุณสามารถข้ามบทความนี้ไปได้เลย แต่สำหรับเพื่อนนักเทคโนหัวรหัสและ apache-dabblers ของฉันฉันต้องการแบ่งปันสิ่งที่น่าสนใจและสิ่งที่น่าสนใจ

หลายไซต์เป็นคุณลักษณะที่ช่วยให้คุณสามารถเรียกใช้เว็บไซต์ WordPress จำนวนเท่าใดก็ได้ด้วยการติดตั้ง WordPress เพียงครั้งเดียว หากคุณดูแลไซต์หลายแห่งก็เป็นเรื่องดีเพราะคุณสามารถติดตั้งกลุ่มธีมและวิดเจ็ตที่ได้รับอนุมัติและเปิดใช้งานสำหรับไซต์ไคลเอ็นต์ของคุณ มีอุปสรรคทางเทคนิคเล็กน้อยในการแมปโดเมนของคุณ แต่ขั้นตอนนี้ไม่ยาก

ปัญหาหนึ่งที่ฉันระบุคือในการปรับแต่งธีม เนื่องจากธีมสามารถใช้งานได้กับหลายเว็บไซต์การปรับแต่งใด ๆ ที่คุณทำกับธีมจะส่งผลต่อไซต์อื่น ๆ ที่ใช้ธีมนั้นในการติดตั้งหลายไซต์ของคุณ วิธีของฉันคือการทำซ้ำธีมก่อนที่ฉันจะเริ่มปรับแต่งและตั้งชื่อธีมให้ชัดเจนสำหรับไซต์ไคลเอ็นต์ที่ฉันกำหนดสไตล์ให้

ปัญหาที่น่าสนใจอีกประการหนึ่งคือสิ่งที่เกิดขึ้นในไฟล์. htaccess บนเซิร์ฟเวอร์ Apache ของคุณ WordPress จำเป็นต้องเขียนเส้นทางใหม่ในแต่ละบล็อกโดยใช้กฎการเขียนซ้ำและไฟล์ php

WordPress ใช้กฎการเขียนซ้ำต่อไปนี้:

RewriteRule ^ ([_ 0-9a-zA-Z -] + /)? files /(.+) wp-includes / ms-files.php? file = $ 2 [L]

โดยพื้นฐานแล้วอะไรก็ตามที่อยู่ในไดเรกทอรีย่อยของ mysite.com/files/directory จะถูกเขียนใหม่ในmysite.com/files/wp-includes/myblogfolderpath…และนี่คือจุดที่น่าสนใจ จะเกิดอะไรขึ้นถ้าคุณจำเป็นต้องมีไฟล์บนเซิร์ฟเวอร์ของคุณที่เป็น mysite.com/files/myfolder/myimage.jpg คุณได้รับข้อผิดพลาด 404 นั่นคือสิ่งที่เกิดขึ้น กฎการเขียนใหม่ของ Apache เริ่มต้นและเปลี่ยนเส้นทาง

จริงอยู่ที่คุณอาจไม่เคยเจอปัญหานี้ แต่ฉันก็ทำ ฉันมีไซต์ที่จำเป็นต้องใช้วิดเจ็ตจาวาสคริปต์จากเว็บไซต์อื่นและจำเป็นต้องค้นหากราฟิกที่ mysite.com/files/Images/myfile เนื่องจากไม่มีวิธีใดในการเปลี่ยนไฟล์บนไซต์โฮสต์ฉันจึงต้องหาวิธีดำเนินการนี้บนเซิร์ฟเวอร์ของฉัน วิธีแก้ปัญหาง่ายๆคือการสร้างเงื่อนไขการเขียนซ้ำซึ่งทำให้เกิดข้อยกเว้นสำหรับไฟล์เฉพาะ

นี่คือทางออก:

RewriteCond% {REQUEST_URI}! /? files / Image / file1.jpg $
RewriteCond% {REQUEST_URI}! /? files / Image / file2.jpg $
RewriteRule ^ ([_ 0-9a-zA-Z -] + /)? files /(.+) wp-includes / ms-files.php? file = $ 2 [L]

ต้องวางเงื่อนไขการเขียนซ้ำก่อนกฎการเขียนซ้ำมิฉะนั้นเคล็ดลับนี้จะใช้ไม่ได้ ควรแก้ไขเงื่อนไขนี้ตามวัตถุประสงค์ของคุณเองได้ง่ายหากคุณประสบปัญหาที่คล้ายกัน โซลูชันนี้ใช้งานได้ดีสำหรับฉันทำให้ฉันสามารถแทนที่กราฟิกที่กำหนดเองได้แทนที่จะเป็นข้อความแสดงแทนที่ไม่ต้องการซึ่งไม่เหมาะกับการออกแบบของฉัน หวังว่ามันจะได้ผลสำหรับคุณเช่นกัน

คุณคิดอย่างไร?

ไซต์นี้ใช้ Akismet เพื่อลดสแปม เรียนรู้วิธีการประมวลผลข้อมูลความคิดเห็นของคุณ.