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