ฉันมีโครงการเมล็ดพันธุ์ AngularJSและฉันได้เพิ่ม
$locationProvider.html5Mode(true).hashPrefix('!');
ไปที่ไฟล์ app.js ฉันต้องการกำหนดค่า IIS 7 เพื่อกำหนดเส้นทางการร้องขอทั้งหมด
http://localhost/app/index.html
ดังนั้นสิ่งนี้จึงเหมาะกับฉัน ฉันจะทำสิ่งนี้ได้อย่างไร
ปรับปรุง:
ฉันเพิ่งค้นพบดาวน์โหลดและติดตั้งโมดูล IIS URL Rewriteหวังว่ามันจะทำให้ง่ายและชัดเจนเพื่อให้บรรลุเป้าหมายของฉัน
อัปเดต 2 :
ฉันเดาว่านี่จะสรุปสิ่งที่ฉันพยายามจะทำให้สำเร็จ (นำมาจากเอกสารนักพัฒนา AngularJS ):
การใช้โหมดนี้ต้องมีการเขียน URL ใหม่บนฝั่งเซิร์ฟเวอร์โดยทั่วไปคุณต้องเขียนลิงค์ทั้งหมดของคุณไปยังจุดเริ่มต้นของแอปพลิเคชันของคุณ (เช่น index.html)
อัปเดต 3:
ฉันยังคงทำสิ่งนี้อยู่และฉันรู้ว่าฉันไม่จำเป็นต้องเปลี่ยนเส้นทาง (มีกฎที่เขียนซ้ำ) URL บางอย่างเช่น
http://localhost/app/lib/angular/angular.js
http://localhost/app/partials/partial1.html
ดังนั้นสิ่งที่อยู่ในไดเรกทอรี css, js, lib หรือ partials จะไม่ถูกเปลี่ยนเส้นทาง ทุกอย่างอื่นจะต้องถูกเปลี่ยนเส้นทางไปที่ app / index.html
ใครรู้วิธีการบรรลุนี้ได้อย่างง่ายดายโดยไม่ต้องเพิ่มกฎสำหรับทุกไฟล์เดียว?
อัปเดต 4:
ฉันมีกฎขาเข้า 2 ข้อที่กำหนดไว้ในโมดูล IIS URL Rewrite กฎข้อแรกคือ:
กฎข้อที่สองคือ:
ตอนนี้เมื่อฉันไปที่ localhost / app / view1 มันจะโหลดหน้าเว็บอย่างไรก็ตามไฟล์ที่รองรับ (ไฟล์ที่อยู่ในไดเรกทอรี css, js, lib และ partials) ก็ถูกเขียนใหม่ไปยังหน้า app / index.html กลับมาเป็นหน้า index.html ไม่ว่าจะใช้ URL ใด ฉันเดาว่านี่หมายถึงกฎข้อแรกของฉันที่ควรป้องกันไม่ให้ URL เหล่านี้ถูกประมวลผลโดยกฎข้อที่สองไม่ทำงาน .. แนวคิดใด ๆ ... ใคร? ...ฉันรู้สึกโดดเดี่ยว... :-(
app/index.html
และไม่ app/
เรียกหน้าเว็บที่แสดง AngularJS อย่างชัดเจน ฉันเสียชีวิตไป 2 ชั่วโมงก่อนที่ฉันจะค้นพบมัน :-)