php - यूआई 2 प्रबंधक यूजर में यूआरएल मैनेजर कॉन्फ़िगरेशन




redirect yii2 (2)

मुझे प्रत्येक यूआरएल के अनुसार यूआरएल urlManager अनुभाग में एप कॉन्फ़िगरेशन मिला है:

    'urlManager' => [
        'enablePrettyUrl' => true,
        'showScriptName' => false,
        'enableStrictParsing' => true,
        'rules' => [
            'article-a' => 'article/a', // canonic comes first
            'article-deprecated-a' => 'article/a',
            'article-another-a-is-deprecated' => 'article/a',
            'b-annoucement' => 'announcement/b', // canonic comes first
            'legacy-b-annoncement' => 'announcement/b',
            ...

मार्गों के लिए एसईएफ यूआरएल सरणी के रूप में frontend/config/main.php में संग्रहीत की जाती है, जिसमें प्रति यूआरएल प्रति यूआरएल होता है। दिए गए मार्ग के लिए पहला यूआरएल (यानी /article-a ) विहित है और शेष विरासत URL हैं

यूआरएल के एक समूह के लिए वैमानिक यूआरएल को निर्दिष्ट करने का सबसे स्वाभाविक तरीका क्या है जो समान मार्ग की तरफ इशारा कर रहे हैं? यह या तो rel="canonical" हो सकता है या 301/302 यूनेनल यूआरएल पर रीडायरेक्ट हो सकता है।

कैनोनिकल यूआरएल को अधिमानतः एक जगह पर निर्दिष्ट किया जाना चाहिए जहां मार्ग परिभाषित किया गया था (इस मामले में frontend/config/main.php कॉन्फिगरेशन फाइल)। आवश्यकता यहां यह है कि विहित यूआरएल नियंत्रक के बाहर परिभाषित किया जाना चाहिए, कंट्रोलर को हार्ड-कोडित नहीं किया गया है।


मुझे लगता है कि आपको ऐप्लिकेशन से "आलेख / ए" के लिए यूआरएल बनाने में समस्याएं आ जाएंगी।

उचित URL पर 302 रीडायरेक्ट करने के लिए क्यों नहीं htaccess या vhost फ़ाइल का उपयोग करें?

यदि आप urlManager के माध्यम से इसे संभालना चाहते हैं, तो मुझे लगता है कि आप केवल विहित लिंक को पंजीकृत कर सकते हैं

$this->registerLinkTag(['rel' => 'canonical', 'href' => 'article/a']); 

दृश्य में। यहां मोड विवरण: http://www.yiiframework.com/doc-2.0/yii-helpers-baseurl.html#canonical()-detail


Yii2 आपके नियमों के आधार पर canonical यूआरएल उत्पन्न करने के लिए एक उपकरण प्रदान करता है।

\helpers\Url::canonical()

विचार यह है कि यह आपको 'लेख-ए' के ​​लिए एक यूआरएल प्रदान करेगा।





canonical-link