दिलचस्प पोस्ट
एंड्रॉइड त्रुटि: एक्सएमरिन फॉर्मस एंड्रॉइड सपोर्ट लाइब्रेरी स्थापित करें "से" और "से" कॉलम तक परिभाषित श्रेणी का विस्तार करें क्यों इस async कार्रवाई लटका है? पायथन के साथ क्विक्सोर्ट CSS3 पीआईई – IE सीमा देना-त्रिज्या समर्थन काम नहीं कर रहा है? इमेज विवर चौड़ाई भरने और आकृति अनुपात बनाए रखने के लिए स्केल छवि दो सरणियों की तुलना करें और उन मूल्यों को प्राप्त करें जो सामान्य नहीं हैं स्ट्रीमिंग या प्रगतिशील-डाउनलोड वीडियो के लिए VideoView का उपयोग करना MySQL में संवेदनशील केस की तरह C ++ अंतर्निहित प्रतिलिपि निर्माता जो कि अन्य वस्तुओं वाले वर्ग के लिए दो एनएसडीट्स के बीच दिनों की संख्या मेरे आईफोन आवेदन के आकार को कम करने के लिए कैसे? जब कोई आईओएस पुश अधिसूचना प्राप्त होती है तो दृश्य नियंत्रक खोलें स्विंग HTML के लिए जार से छवियां लोड करना जावास्क्रिप्ट का उपयोग करते हुए स्ट्रिंग में वर्णों की अंतिम घटना को कैसे बदलें

मैं आईआईएस के लिए आईआईएस को एचटीएमएल 5 मोड में एन्जिलरजेएस एप्लीकेशन में लिखने के लिए कैसे कॉन्फ़िगर करूं?

मेरे पास अंगुलियोज़ बीज परियोजना है और मैंने जोड़ दिया है

$locationProvider.html5Mode(true).hashPrefix('!'); 

app.js फ़ाइल में मैं सभी अनुरोधों को रूट करने के लिए आईआईएस 7 को कॉन्फ़िगर करना चाहता हूं

 http://localhost/app/index.html 

ताकि यह मेरे लिए काम करता है मैं यह कैसे करु?

अद्यतन करें:

मैंने अभी IIS यूआरएल रीराइट मॉड्यूल की खोज, डाउनलोड और स्थापित किया है, उम्मीद है कि यह मेरे लक्ष्य को प्राप्त करने के लिए आसान और स्पष्ट कर देगा।

अपडेट 2 :

मुझे यह लगता है कि मैं क्या हासिल करने की कोशिश कर रहा हूं ( अंगरीजेएस डेवलपर दस्तावेज़ से लिया गया):

इस मोड का उपयोग करने के लिए यूआरएल सर्वर साइड पर फिर से लिखना की आवश्यकता है, मूल रूप से आपको अपने आवेदन के प्रवेश बिंदु के लिए अपने सभी लिंक्स को पुन: लिखना होगा (जैसे index.html)

अपडेट 3:

मैं अभी भी इस पर काम कर रहा हूं और मुझे एहसास है कि मुझे कुछ ऐसे यूआरएल जैसे रीडायरेक्ट नहीं करना है

 http://localhost/app/lib/angular/angular.js http://localhost/app/partials/partial1.html 

इसलिए सीएसएस, जेएस, लिब या आंशिक निर्देशिका में जो कुछ भी रीडायरेक्ट नहीं होता है बाकी सब कुछ को ऐप / index.html पर पुनर्निर्देशित करने की आवश्यकता होगी

किसी को भी पता है कि हर एक फाइल के लिए एक नियम जोड़ने के बिना यह कैसे आसानी से प्राप्त करने के लिए?

अपडेट 4:

IIS यूआरएल रीराइट मॉड्यूल में परिभाषित 2 इनबाउंड नियम हैं I पहला नियम है:

आईआईएस यूआरएल रीडायरेक्ट इनबाउंड नियम 1

दूसरा नियम है:

आईआईएस यूआरएल रीडायरेक्ट इनबाउंड नियम 2

अब जब मैं स्थानीय होस्ट / ऐप / दृश्य 1 पर नेविगेट करता हूं तो यह पृष्ठ को लोड करता है, हालांकि सहायक फाइलें (सीएसएस, जेएस, लिब और आंशिक निर्देशिकाओं में) को ऐप / index.html पेज पर फिर से लिखी जा रही हैं – इसलिए सब कुछ आ रहा है वापस index.html पृष्ठ के रूप में कोई भी बात नहीं है कि यूआरएल क्या इस्तेमाल किया जाता है। मुझे लगता है कि इसका मतलब है मेरा पहला नियम है, जो इन नियमों को दूसरे नियम से संसाधित करने से रोकता है, काम नहीं कर रहा है .. कोई विचार? …किसी को? …मुझे बहुत ज्यादा अकेलापन महसूस हुआ… 🙁

Solutions Collecting From Web of "मैं आईआईएस के लिए आईआईएस को एचटीएमएल 5 मोड में एन्जिलरजेएस एप्लीकेशन में लिखने के लिए कैसे कॉन्फ़िगर करूं?"

मैं web.config में $locationProvider.html5Mode(true) बाद एक नियम लिखता हूं $locationProvider.html5Mode(true) app.js में सेट है

आशा है, किसी को मदद करता है

  <system.webServer> <rewrite> <rules> <rule name="AngularJS Routes" stopProcessing="true"> <match url=".*" /> <conditions logicalGrouping="MatchAll"> <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> <add input="{REQUEST_URI}" pattern="^/(api)" negate="true" /> </conditions> <action type="Rewrite" url="/" /> </rule> </rules> </rewrite> </system.webServer> 

मेरी index.html में मैंने इसे <head> जोड़ा

 <base href="/"> 

आईआईएस यूआरएल सर्वर पर फिर से लिखना स्थापित करने के लिए मत भूलना।

इसके अलावा यदि आप वेब एपीआई और आईआईएस का उपयोग करते हैं, तो यह काम करेगा यदि आपका एपीआई www.yourdomain.com/api क्योंकि तीसरा इनपुट (स्थिति की तीसरी पंक्ति)

आईआईएस इनबाउंड नियम, जैसा कि प्रश्न DO काम में दिखाया गया है। मुझे ब्राउज़र कैश को साफ़ करना पड़ा और index.html पृष्ठ के अपने <head> अनुभाग के शीर्ष पर निम्न पंक्ति जोड़ें:

 <base href="/myApplication/app/" /> 

ऐसा इसलिए है क्योंकि मेरे पास स्थानीय होस्ट में एक से अधिक एप्लिकेशन हैं और इसलिए अन्य आंशिक लोगों को अनुरोध localhost/app/view1 बजाय localhost/app/view1 लिए लिया जा रहा है

उम्मीद है कि यह किसी को मदद करता है!

मेरे मामले में मैंने सही पुनर्लेखन नियमों को सेटअप करने के बाद 403.14 प्राप्त कर रखा था। यह पता चला है कि मेरी एक निर्देशिका थी जो मेरे यूआरएल मार्गों में से एक के समान ही थी एक बार मैं IsDirectory पुनर्लेखन नियम को हटा दिया, मेरे मार्ग ठीक से काम करते थे। क्या कोई ऐसा मामला है जहां डायरेक्ट्री अस्वीकृति को हटाने से समस्याएं हो सकती हैं? मैं अपने मामले में किसी के बारे में नहीं सोच सकता। एकमात्र ऐसा मामला जो मैं सोच सकता हूँ, यदि आप अपने ऐप के साथ एक निर्देशिका ब्राउज़ कर सकते हैं।

 <rule name="fixhtml5mode" stopProcessing="true"> <match url=".*"/> <conditions logicalGrouping="MatchAll"> <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> </conditions> <action type="Rewrite" url="/" /> </rule> 

केवल इन दो शर्तों के साथ समस्या:

  <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> 

यह है कि वे केवल तब तक काम करते हैं जब तक कि {REQUEST_FILENAME} डिस्क पर शारीरिक रूप से मौजूद न हो । इसका अर्थ है कि परिदृश्य हो सकता है जहां गलत नाम से आंशिक दृश्य के लिए अनुरोध 404 के बजाय रूट पेज को वापस करेगा, जिससे दो बार लोड होने वाला कोणीय हो सकता है (और कुछ परिदृश्य में यह एक गंदा अनंत लूप पैदा कर सकता है)।

इस प्रकार, कुछ सुरक्षित "फॉलबैक" नियमों को इन समस्याओं का निवारण करने के लिए इन मुश्किलों से बचने के लिए अनुशंसित किया जाएगा:

  <add input="{REQUEST_FILENAME}" pattern="(.*?)\.html$" negate="true" /> <add input="{REQUEST_FILENAME}" pattern="(.*?)\.js$" negate="true" /> <add input="{REQUEST_FILENAME}" pattern="(.*?)\.css$" negate="true" /> 

या एक ऐसी स्थिति है जो किसी फ़ाइल को समाप्त करती है :

 <conditions> <!-- ... --> <add input="{REQUEST_FILENAME}" pattern=".*\.[\d\w]+$" negate="true" /> </conditions> 

मुझे सबसे आसान तरीका मिल गया केवल उन अनुरोधों को पुनर्निर्देशित करने के लिए है जो ग्राहक को 404 को ट्रिगर करता है। यह एक हैशटैग जोड़कर किया जाता है, भले ही $locationProvider.html5Mode(true) सेट हो।

यह चाल एक ही वेब साइट पर अधिक वेब अनुप्रयोग के साथ वातावरण के लिए काम करती है और यूआरएल अखंडता बाधाओं (ईजी बाहरी प्रमाणीकरण) की आवश्यकता होती है। यहाँ कदम से कदम है कि कैसे करना है

index.html

<base> तत्व को ठीक से सेट करें

 <base href="@(Request.ApplicationPath + "/")"> 

web.config

पहले एक कस्टम पेज पर 404 रीडायर करते हैं, उदाहरण के लिए "होम / एरर"

 <system.web> <customErrors mode="On"> <error statusCode="404" redirect="~/Home/Error" /> </customErrors> </system.web> 

होम नियंत्रक

क्लाइंट साइड मार्ग में "अनुवाद" इनपुट के लिए एक सरल ActionResult लागू करें

 public ActionResult Error(string aspxerrorpath) { return this.Redirect("~/#/" + aspxerrorpath); } 

यह सबसे आसान तरीका है


कुछ सुधार वाले तर्क के साथ त्रुटि कार्य को बढ़ाने के लिए यह संभव है (सलाह है?) जब ग्राहक यूआरएल मान्य है और 404 को सामान्य रूप से क्लाइंट पर कुछ भी नहीं मिलेगा, तो क्लाइंट के लिए 404 को रीडायरेक्ट करने के लिए संभव है। मान लें कि आपके पास ये कोणीय मार्ग हैं

 .when("/", { templateUrl: "Base/Home", controller: "controllerHome" }) .when("/New", { templateUrl: "Base/New", controller: "controllerNew" }) .when("/Show/:title", { templateUrl: "Base/Show", controller: "controllerShow" }) 

यूआरएल को यूआरएल को रीडायरेक्ट करने का मतलब केवल तभी होता है जब यह "/ न्यू" या "/ शो /" से शुरु होता है

 public ActionResult Error(string aspxerrorpath) { // get clientside route path string clientPath = aspxerrorpath.Substring(Request.ApplicationPath.Length); // create a set of valid clientside path string[] validPaths = { "/New", "/Show/" }; // check if clientPath is valid and redirect properly foreach (string validPath in validPaths) { if (clientPath.StartsWith(validPath)) { return this.Redirect("~/#/" + clientPath); } } return new HttpNotFoundResult(); } 

यह केवल सुधार तर्क का एक उदाहरण है, ज़ाहिर है कि हर वेब एप्लिकेशन में अलग-अलग ज़रूरतें हैं