ฉันมีเซิร์ฟเวอร์ที่มีข้อบกพร่องด้านความปลอดภัย:
มีเว็บไซต์หลัก https://example.com
(บนเซิร์ฟเวอร์ /var/www
โฟลเดอร์)
จากนั้นมีแอปเพิ่มเติม (บนเซิร์ฟเวอร์ /var/www/app/public
) ที่กำหนดค่าให้เปิด https://app.example.com
.
ดังนั้นแอปจึงสามารถเข้าถึงได้ผ่าน https://example.com/app/public
(ฉันต้องการเปลี่ยนสิ่งนั้น)
ฉันยังมีปัญหาที่แอปทั้งหมดถูกบันทึกบนเซิร์ฟเวอร์สำหรับนักพัฒนา หมายความว่าไฟล์ทรัพยากรทั้งหมดจะถูกจัดเก็บไว้ในโฟลเดอร์สาธารณะ เป็นต้น https://example.com/app/config/settings.php
ตอนนี้เพื่อแก้ไขปัญหานี้ฉันคิดว่าฉันจะใส่ไฟล์ .htaccess
เข้าไปข้างใน https://example.com/app
ด้วยรหัสต่อไปนี้:
RewriteEngine เปิดอยู่
ฐานการเขียนซ้ำ /
RewriteCond %{HTTP_HOST} ^example\.com/app$ [NC]
RewriteRule ^(.*)$ https://app.example.com/ [R=301,L]
สิ่งนี้จะเปลี่ยนเส้นทางทุกอย่างด้วย URL ที่ไม่ถูกต้อง (ตัวอย่าง.com/app/
, example.com/app/public
, example.com/app/resources
, ...) ถึง https://app.example.com
.
แต่ตอนทดสอบมันใช้ไม่ได้ ฉันอาจทำให้ไวยากรณ์สับสน ไม่ค่อยมีประสบการณ์กับ .htaccess
. พยายามเป็นเวลาหนึ่งชั่วโมงกับ .htaccess
ทดสอบแต่ไม่สำเร็จ คุณ (1) บอกฉันได้ไหมว่าฉันทำอะไรผิดกับ .htaccess
ไวยากรณ์และ (2) บอกฉันว่าวิธีแก้ปัญหานี้กับ .htaccess
มีความปลอดภัยเพียงพอหรือไม่?