http - URL with trailing slash from AngularJs/ui-router to nginx accesses incorrect resource -
मेरे पास AngularJs
ऐप ( ui-router
द्वारा रूटिंग के साथ) ) nginx
द्वारा सेवा की जा रही है
मुझे यकीन नहीं है कि कौन सा अपराधी है, लेकिन जब मैं अनुगामी स्लैश के साथ एक यूआरएल के साथ अपने ब्राउज़र को ताज़ा करें करता हूं, तो यह दिखता है जैसे यूआरएल के उत्तरार्द्ध को एक उपनिर्देशिका के रूप में माना जाता है, और स्थिर संसाधन ( img
/ css
/ js
उदाहरण:
-
रीसिंग
www.site.com/login
कोlogo.png
की आवश्यकता होगी, जिसेwww.site.com/images/ से अनुरोध किया जाएगा लोगो
-
पुनर्संरिंग
www.site.com/login /
(अनुगामी स्लैश) की आवश्यकता होगीlogo.png
, जोwww.site.com /
लॉगिन
/ images / से अनुरोध किया जाएगा,
मुझे किसी भी तरह से यह लॉगिन /
को उप-डायरेक्टरी के रूप में माना जा रहा है।
एनजीएन सी Onfig:
चूंकि कोणीय अपने स्वयं का रूटिंग करता है, मेरे nginx
config में मेरे पास एक एपीआई मार्ग REST एपीआई के लिए है, और सभी अन्य यूआरआई के लिए फ़ॉलबैक मार्ग , जो सभी अज्ञात संसाधनों के लिए index.html
पर कार्य करता है
मैंने यूआरआई से पीछे वाली स्लिप्स को छांटने के लिए कॉन्फ़िग को जोड़ दिया है।
# एपीआई मार्ग स्थान ~ * / एपीआई।? {...} # फ़ॉलबैक रूट स्थान ~ *।? {# स्ट्रिप को कोई पिछला स्लैश पुनर्लेखन करें ^ / (। *) / $ / $ 1 ब्रेक; रूट / var / www / site / app; सूचकांक index.html; # सेवा इंडेक्स.html अगर यूरी मौजूद नहीं है try_files $ uri $ uri / /index.html = 404; }
जब भी मैं एक अनुगामी स्लैश के साथ एक मार्ग को रीफ़्रेश करने का प्रयास करता हूं, ऐसा लगता है कि कुछ (कोणीय / एनजीएन / ब्राउज़र?) यूआरआई को डायरेक्टरी के तौर पर मानता है, और उपसर्ग
मेरे nginx लॉग से कुछ अंश हैं:
वर्क्स : कोई पिछला स्लैश के साथ कोई कोणीय मार्ग ताज़ा करें
http: // localhost / login
[debug]: http अनुरोध लाइन: "GET / लॉगिन HTTP / 1.1" [डीबग]: http हैडर: "रेफेरर: http: // localhost /" [डीबग]: http अनुरोध पंक्ति: "GET /images/logo.png HTTP / 1.1"
काम नहीं करता: पीछे वाले स्लैश के साथ एक कोणीय मार्ग को ताज़ा करें
प्रश्न मुझे यकीन नहीं है कि प्रश्न / P> मैं http: // localhost / login /
Http: // localhost / login / "[debug]: http: // <> रेफरर
हैडर एक लाल-हेरिंग है? कोणीय
और / या ui-router
और / या ngingx
(या जो भी अपराधी है) को कॉन्फ़िगर कर सकता हूं स्लैश के साथ रिफ्रेश किए गए मार्ग काम करता है?
यह रूट के आधार को सेट करके तय किया गया
& lt; base href = "/" & gt;
Comments
Post a Comment