"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > Yii2 उन्नत अनुप्रयोगों में फ्रंटएंड और बैकएंड पथ को पूरी तरह से कैसे छिपाएं?

Yii2 उन्नत अनुप्रयोगों में फ्रंटएंड और बैकएंड पथ को पूरी तरह से कैसे छिपाएं?

2024-11-18 को प्रकाशित
ब्राउज़ करें:598

How to Completely Hide Frontend and Backend Paths in Yii2 Advanced Applications?

Yii2 फ्रंटएंड और बैकएंड पथों को पूरी तरह से छिपाना

समस्या को समझना

Yii2 का उन्नत एप्लिकेशन टेम्पलेट अलग-अलग निर्देशिकाओं में फ्रंटएंड और बैकएंड अनुभाग बनाता है। डिफ़ॉल्ट रूप से, ये निर्देशिकाएँ URL में दिखाई देती हैं, जो एक साफ़ और पेशेवर दिखने वाली प्रस्तुति के लिए अवांछनीय हो सकती हैं। इस लेख का उद्देश्य इन निर्देशिकाओं को पूरी तरह से छिपाने में आपका मार्गदर्शन करना है।

चरण-दर-चरण मार्गदर्शिका

1। रूट .htaccess कॉन्फ़िगरेशन

प्रोजेक्ट की रूट निर्देशिका (जैसे, उन्नत/) में, एक .htaccess फ़ाइल बनाएं और निम्नलिखित कोड पेस्ट करें:

Options  FollowSymlinks
RewriteEngine On

# Redirect admin requests to backend/web
RewriteCond %{REQUEST_URI} ^/(admin)
RewriteCond %{REQUEST_URI} !^/backend/web/(assets|css)/
RewriteRule ^.*$ backend/web/index.php [L]

# Redirect all other requests to frontend/web
RewriteCond %{REQUEST_URI} !^/(frontend|backend)/web/(assets|css)/
RewriteCond %{REQUEST_URI} !index.php
RewriteCond %{REQUEST_FILENAME} !-f [OR]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ frontend/web/index.php

2. अनुरोध घटक

सामान्य निर्देशिका में एक घटक/Request.php फ़ाइल बनाएं और निम्नलिखित कोड जोड़ें:

namespace common\components;

class Request extends \yii\web\Request {
    public $web;
    public $adminUrl;

    public function getBaseUrl(){
        return str_replace($this->web, "", parent::getBaseUrl()) . $this->adminUrl;
    }

    public function resolvePathInfo(){
        if($this->getUrl() === $this->adminUrl){
            return "";
        }else{
            return parent::resolvePathInfo();
        }
    }
}

3. फ्रंटएंड और बैकएंड एप्लिकेशन को कॉन्फ़िगर करना

फ्रंटएंड/कॉन्फिग/मेन.php और बैकएंड/कॉन्फिग/मेन.php में, अनुरोध और urlManager घटकों को निम्नानुसार संशोधित करें:

फ्रंटएंड /config/main.php

'request' => [
    'class' => 'common\components\Request',
    'web' => '/frontend/web'
],
'urlManager' => [
    'enablePrettyUrl' => true,
    'showScriptName' => false
]

backend/config/main.php

'request' => [
    'class' => 'common\components\Request',
    'web' => '/backend/web',
    'adminUrl' => '/admin'
],
'urlManager' => [
    'enablePrettyUrl' => true,
    'showScriptName' => false
]

वैकल्पिक चरण 4 (यदि पिछला चरण विफल हो)

वेब निर्देशिका में एक .htaccess फ़ाइल बनाएं और निम्नलिखित कोड जोड़ें:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?/$1 [L]

Result

इन परिवर्तनों को लागू करने के बाद, आप http:/ पर अपनी वेबसाइट तक पहुंच सकते हैं /localhost/yii2app और http://localhost/yii2app/admin URL में कोई फ्रंटएंड या बैकएंड पथ दिखाई नहीं दे रहा है।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3