के बाहर के मार्गों पर रीडायरेक्ट करने के लिए $ मार्ग प्रदाता का उपयोग करना मैंने अंगुलर में एक वेब अनुप्रयोग का हिस्सा लिखा है। यह सुनिश्चित करने के लिए कि सभी मार्ग शामिल हैं, मैं संपत्ति को $routeProvider
पर जोड़ना चाहता था, ताकि अवैध मार्ग वेब एप्लिकेशन की जड़ पर वापस आ जाए, जो कोणीय का उपयोग नहीं करता है।अंगुलर
मैंने कोशिश की:
$routeProvider.otherwise({
redirectTo: '/'
});
लेकिन स्पष्ट रूप से URL के कोणीय नियंत्रित हिस्से में यह केवल मार्गों,, http://app.com
, जहां मैं उन्हें करना चाहते हैं के बजाय तो उन http://app.com/angular-part-of-web-app#
जैसी URL पर पुनः निर्देशित किया जाएगा चले जाओ।
मैं इस के चारों ओर एक खाली आंशिक '404' पृष्ठ के रूप में कार्य करने के लिए, और फिर एक नियंत्रक जो सिर्फ $window
ऑब्जेक्ट का उपयोग करता वांछित पृष्ठ पर रीडायरेक्ट करने के द्वारा काम किया है:
routes.js
// Redirect to site list.
$routeProvider.when('/404', {
templateUrl: '/partials/404.html',
controller: 'RedirectCtrl'
});
// Redirect to the 404 page.
$routeProvider.otherwise({
redirectTo: '/404'
});
controllers.js
// Controller to redirect users to root page of site.
.controller('RedirectCtrl', ['$scope', '$window', function ($scope, $window) {
$window.location.href = '/';
}]);
हालांकि, यह 'बहुत हैकी बंद कर रहा है, एक बेहतर तरीका होना चाहिए' अलार्म घंटी। क्या कोणीय में ऐसा करने का कोई बेहतर तरीका है?
संपादित करें: Angular routes - redirecting to an external site? एक ही प्रश्न का उत्तर नहीं मिला। मैं इसे एक डुप्लिकेट (अब के लिए) के रूप में चिह्नित करने के बजाय अपना प्रश्न खोलने जा रहा हूं, क्योंकि कोणीय दुनिया इतनी तेजी से आगे बढ़ रही है, पिछला उत्तर अब मामला नहीं हो सकता है।
शायद इसे चीजों के सर्वर-पक्ष पर संभाल लें। – tymeJV
मैं इसे हल करने के लिए भी देख रहा हूं। मैं अपने ऐप को कोणीय में बदलने की प्रक्रिया में हूं और कुछ हिस्सों को अभी भी सर्वर से परोसा जाता हूं। कोणीय भाग और गैर-कोणीय भाग – Michael