หากคุณต้องการกำหนดค่าแบบโลคัลนี้บน OS X 10.8 ที่ให้บริการ Angular ด้วย Apache คุณอาจพบสิ่งต่อไปนี้ในไฟล์. htaccess ของคุณ:
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
RewriteBase /~yourusername/appname/public/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(css|js|html|png|jpg|jpeg|gif|txt)
RewriteRule (.*) index.html [L]
</IfModule>
ตัวเลือก + FollowSymlinks หากไม่ได้ตั้งค่าอาจทำให้คุณมีข้อผิดพลาดต้องห้ามในบันทึกดังนี้:
Options FollowSymLinks or SymLinksIfOwnerMatch is off which implies that RewriteRule directive is forbidden
จำเป็นต้องมีฐานการเขียนซ้ำมิฉะนั้นคำขอจะได้รับการแก้ไขไปยังรูทเซิร์ฟเวอร์ของคุณซึ่งโดยค่าเริ่มต้นไม่ใช่ไดเรกทอรีโครงการของคุณเว้นแต่ว่าคุณได้กำหนดค่าโฮสต์ของคุณโดยเฉพาะดังนั้นคุณต้องกำหนดเส้นทางเพื่อให้คำขอค้นหาไดเรกทอรีรากโครงการของคุณ ตัวอย่างเช่นในเครื่องของฉันฉันมีไดเรกทอรี / Users / me / Sites ที่ฉันเก็บโครงการทั้งหมดไว้ เช่นเดียวกับการตั้งค่า OS X แบบเก่า
สองบรรทัดถัดไปบอกได้อย่างมีประสิทธิภาพหากเส้นทางไม่ใช่ไดเรกทอรีหรือไฟล์ดังนั้นคุณต้องแน่ใจว่าคุณไม่มีไฟล์หรือไดเรกทอรีเหมือนกับเส้นทางเส้นทางของแอพ
เงื่อนไขต่อไปบอกว่าถ้าคำขอไม่ได้ลงท้ายด้วยนามสกุลไฟล์ที่ระบุดังนั้นเพิ่มสิ่งที่คุณต้องการ
และ [L] สุดท้ายจะบอกว่าให้บริการไฟล์ index.html - แอปของคุณสำหรับคำขออื่น ๆ ทั้งหมด
หากคุณยังมีปัญหาอยู่ให้ตรวจสอบบันทึกการทำงานของ apache อาจเป็นประโยชน์สำหรับคุณ:
/private/var/log/apache2/error_log