ฉันชอบความคิดของChris_Oแต่ฉันสร้างเวอร์ชันของฉันเองซึ่งปลอดภัยกว่า
ดังนั้นสิ่งที่ฉันทำฉันเพิ่งเพิ่มโฟลเดอร์ไปที่ข้อยกเว้นดังนั้นหากคำขอของคุณเริ่มต้นจากบรรทัดเหล่านั้น - ไม่ใช่ลิงก์ที่ถูกต้องแน่นอน คำขอส่วนใหญ่มาจากบ็อตที่พยายามตรวจสอบเนื้อหาของโฟลเดอร์เหล่านั้นเพื่อหาช่องโหว่ พวกเขาจะถูกกรองอย่างมีประสิทธิภาพและหากจำเป็นคุณสามารถแสดงหน้า 404 แบบคงที่เล็ก ๆ
คำขออื่น ๆ จะยังคงได้รับการจัดการโดย wordpress และหากมีคนป้อนที่อยู่ผิดจะแสดงข้อความที่ไม่เป็นมิตรต่อผู้ใช้ในแม่แบบของคุณ วิธีการแก้ปัญหาของChris_Oจะใช้งานได้เฉพาะกับคำขอที่มีลักษณะเหมือนนามสกุลไฟล์มิฉะนั้นจะถูกจัดการด้วย wordpress
เพื่อให้มีความน่าเชื่อถือยิ่งขึ้นคุณสามารถดึงไฟล์การเข้าถึงข้อมูลดิบและค้นหาข้อผิดพลาด 404 หากคุณสังเกตเห็นคำขอจำนวนมากที่ขึ้นต้นด้วยบรรทัดเฉพาะคุณสามารถรวมคำขอเหล่านั้นไว้ในตัวกรองนี้ได้:
#adding your own handler
ErrorDocument 404 /404/index.html
<IfModule mod_rewrite.c>
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_URI} !^/(404|cgi-bin|wp-admin|wp-content|wp-includes)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>