/ / AngularJS $ मार्गप्रोपाइडर सीधे आंशिक रूप से लोड नहीं कर सकता है

AngularJS $ मार्गप्रदाता सीधे आंशिक रूप से लोड नहीं कर सकता - जावास्क्रिप्ट, कोणीय, अपाचे, कोणीय-रूटिंग

इस समय मैं पृष्ठ के अनुभागों को गतिशील रूप से लोड करने के लिए $ मार्गप्रोविडर का उपयोग कर रहा हूं:

$routeProvider
.when("/", {
templateUrl: "/pages/home.html",
controller: "mainController"
})
.when("/our-business", {
templateUrl: "/pages/our-business.html",
controller: "businessController",
css: "css/_business.css"
})
.when("/solutions", {
templateUrl: "/pages/solutions.html",
controller: "solutionsController"
});

वर्तमान में, यदि मैं सीधे अनुक्रमणिका (लोकलहोस्ट) पर जाता हूं और फिर नेविगेशन मेनू से "हमारा व्यवसाय" का चयन करता हूं तो कोणीय स्थान अनुरोध को संभालता है और पृष्ठ ठीक लोड होता है, जिसमें URL बदल रहा है स्थानीय होस्ट / हमारे व्यापार। यदि मैं फिर से लोड करता हूं, या इस URL को सीधे खोलता हूं, तो मुझे 404 त्रुटि मिलती है - संभवत: इसलिए कि अपाचे हमारे business.html को खोलने की कोशिश कर रहा है, जो मौजूद नहीं है। स्थानीय होस्ट / # / हमारे व्यापार तब सूचकांक लोड होता है और कोणीय तब संभालता हैअनुरोध। मुझे जो मुद्दा मिला है वह यह है कि यह एक सार्वजनिक सामना करने वाली वेबसाइट है, इसलिए यदि कोई उपयोगकर्ता URL को कॉपी और पेस्ट करता है या ईमेल के माध्यम से साझा करता है, तो उन्हें 404 त्रुटि मिलेगी।

क्या अपाचे को URL को अनुक्रमणिका और AngularJS के माध्यम से पार्स करने के लिए फिर से लिखना है ताकि हम गैर-हैश शैली रख सकें लेकिन फिर भी कार्यात्मक URL हैं?

उत्तर:

उत्तर № 1 के लिए 1

जैसा कि कैलाश ने कहा है कि आप लोकप्रिविडर को html5 मोड पर सेट कर सकते हैं

$locationProvider.html5Mode(true)

जब आप अपने कोणीय अनुप्रयोग को बूटस्ट्रैप करते हैं।

फिर आपको किसी भी अनुरोधित यूआरएल के लिए index.html (आप एकल पृष्ठ ऐप का प्रवेश बिंदु) भेजने के लिए अपने अपाचे सर्वर को बताना होगा।

कोणीय राउटर तब उचित मार्ग को संभालेंगे


उत्तर № 2 के लिए -1

नहीं। बिना हैश के url बदलने से पूरा पृष्ठ पुनः लोड हो जाता है।

इस के पूरे बिंदु $routeProvider एक से अधिक विचारों वाले एकल-पृष्ठ ऐप का निर्माण करना है।

मूल रूप से, होने # url में ऐसा करने का एकमात्र तरीका है। एक पृष्ठ पुनः लोड करने के लिए एक यूआरएल "हैश डॉन" टी परिणाम में परिवर्तन, और कोणीय को प्रासंगिक विचारों को लोड करने की अनुमति दें