2014-04-21 10 views
5

कहें कि मेरे पास localhost/public/admin है जो तुरंत localhost/public/user/login पर रीडायरेक्ट करता है।लार्वेल 4 कैसे जांचें कि कोई मार्ग केवल दूसरे मार्ग से आता/पुनर्निर्देशित होता है?

मूल्य user/login में मुझे कैसे प्राप्त किया जा रहा है?

उत्तर

12

आपको रेफरर को पकड़ने और जांचने की आवश्यकता होगी कि इसमें 'व्यवस्थापक' है या नहीं। प्रयास करें निम्नलिखित

$referer = Request::referer(); 
// or 
// $referer = Request::server('HTTP_REFERER'); 

if (strpos($referer,'admin') !== false) { 
    dd('coming from admin') 
} 

# संपादित करें 1: के रूप में @tomvo आप भी L4 में URL::previous() बजाय Request::referer() उपयोग कर सकते हैं द्वारा बताया

# 2 संपादित करें: यह वास्तव में से बाहर बिंदु के रूप में referer बजाय referrer के रूप में गलत वर्तनी है @JamesF

संपादित # 3: Laravel 5 में Request::referer() विधि अब मौजूद नहीं लगता है, तो आप अभी भी यह Request::header('referer') बिंदु बाहर के रूप में उपयोग करके प्राप्त कर सकते हैं @TheSerenin

द्वारा
+2

जो एल 4 – tomvo

+0

में 'यूआरएल :: पिछला() 'होगा, ऐसा लगता है कि यह' अनुरोध :: रेफरर() 'एक' आर 'के साथ है - मूल spec में अजीब गलत वर्तनी (https://en.wikipedia.org/विकी/HTTP_referer) –

+0

@ जेम्सएफ मैंने अपना जवाब अपडेट किया है, चीयर्स – afarazit

संबंधित मुद्दे