.htaccess URL से index.php को कैसे निकालें?




magento url-rewriting (7)

मेरे Magento स्थापना पर मेरे सभी यूआरएल में index.php की आवश्यकता है, जैसे:

http://example.com/index.php/admin/
http://example.com/index.php/customer/account/login/

समस्या यह है कि डिफ़ॉल्ट रूप से सिस्टम जैसे यूआरएल से लिंक करता है

http://example.com/admin/
http://example.com/customer/account/login/

वैसे भी जो सुंदर दिखता है। मुझे लगता है कि यह .htaccess में एक पुनर्लेखन मुद्दा है, लेकिन अतीत में इसके साथ झुकाव के रूप में मुझे 500s दिए गए हैं, मैं आपको पहले लोगों से पूछना चाहता हूं।

एसईओ सेटिंग्स को बदलना, कॉन्फ़िगरेशन कैश को फ्लश करना और यूआरएल रीइंडेक्सिंग करना यहां सुझाए गए अनुसार काम नहीं करता है


मैंने पोस्ट पर सब कुछ करने की कोशिश की लेकिन कुछ भी काम नहीं किया। मैंने फिर .htaccess स्निपेट को बदल दिया जो Erjab पढ़ने के लिए डाल दिया:

RewriteRule ^(.*)$ 'folder_name'/index.php/$1 [L]

उपर्युक्त रेखा ने इसे मेरे लिए तय किया है। जहां * folder_name * Magento रूट फ़ोल्डर है।

उम्मीद है की यह मदद करेगा!


यह पुराना हो सकता है, लेकिन मैं जो भी सीखा है उसे लिख सकता हूं। तो वैसे भी मैंने इसे इस तरह से किया।

---------->

शुरू करने से पहले, सुनिश्चित करें कि अपाचे पुनर्लेखन मॉड्यूल सक्षम है और फिर नीचे दिए गए चरणों का पालन करें।

1) अपने Magento प्रशासन क्षेत्र में लॉग-इन करें और फिर सिस्टम> कॉन्फ़िगरेशन> वेब पर जाएं

2) असुरक्षित और सुरक्षित टैब पर नेविगेट करें। सुनिश्चित करें कि असुरक्षित और सुरक्षित - बेस यूआरएल विकल्पों में आपका डोमेन नाम है, और यूआरएल के अंत में आगे स्लैश बंद न करें। उदाहरण: http://www.yourdomain.co.uk/

3) अभी भी वेब पेज पर, खोज इंजन अनुकूलन टैब पर नेविगेट करें और उपयोग वेब सर्वर रिवाइट्स विकल्प के नीचे YES का चयन करें

4) सुरक्षित टैब पर फिर से नेविगेट करें (यदि पहले से नहीं है) और फ्रंट-एंड विकल्प में सुरक्षित यूआरएल का उपयोग करें पर हाँ चुनें।

5) अब अपने Magento वेबसाइट फ़ोल्डर की जड़ पर जाएं और अपने .htaccess के लिए इस कोड का उपयोग करें:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

.Htaccess को सहेजें और मूल फ़ाइल को प्रतिस्थापित करें। (कृपया अपने मूल को बैक अप करने के लिए सुनिश्चित करें। एचटीएसीएसी फ़ाइल इसके साथ मेसेज करने से पहले !!!)

6) अब सिस्टम> कैश प्रबंधन पर जाएं और सभी फ़ील्ड का चयन करें और सुनिश्चित करें कि क्रियाएं ड्रॉपडाउन रीफ्रेश पर सेट है, फिर सबमिट करें। (यह निश्चित रूप से कैश रीफ्रेश करेगा।)

---------->

यदि यह काम नहीं करता है तो कृपया इन अतिरिक्त चरणों का पालन करें।

7) सिस्टम> कॉन्फ़िगरेशन> वेब पर फिर से जाएं। इस बार वर्तमान कॉन्फ़िगरेशन स्कोप की तलाश करें और ड्रॉपडाउन मेनू से अपनी वेबसाइट का चयन करें। (यह निश्चित रूप से है, यह डिफ़ॉल्ट कॉन्फ़िगर पर सेट है)

8) सुनिश्चित करें कि असुरक्षित और सुरक्षित फ़ील्ड में पिछली डिफ़ॉल्ट कॉन्फ़िगर फ़ाइल के समान डोमेन शामिल है।

9) खोज इंजन अनुकूलन टैब पर नेविगेट करें और वेब सर्वर रिवाइट्स अनुभाग का उपयोग करें के नीचे हां का चयन करें

10) एक बार यूआरएल समान होने के बाद, और फिर से लिखना सक्षम है उस पृष्ठ को सहेजने के बाद, फिर वापस जाएं और सुनिश्चित करें कि वे सभी डिफ़ॉल्ट रूप से चेक किए गए हैं, फिर आवश्यक होने पर फिर से सहेजें।

11) चरण 6 दोहराएं।

अब आपकी index.php समस्या तय की जानी चाहिए और सभी ठीक होना चाहिए !!!

मुझे आशा है इससे मदद मिलेगी और भाग्य आपका साथ दे।


मुख्य रूप से यदि आप 'उबंटू' की तरह लिनक्स आधारित प्रणाली का उपयोग कर रहे हैं और यह केवल स्थानीयहोस्ट उपयोगकर्ता के लिए सर्वर के लिए सुझाव नहीं दिया गया है।

पिछले उत्तरों में उल्लिखित सभी चरणों का पालन करें। +

इसके लिए अपाचे कॉन्फ़िगरेशन में जांचें। (सभी को ओवरराइड करें) अगर अनुमति ओवरराइड मान कोई नहीं है तो इसे सभी में बदलें और फिर से अपाचे को पुनरारंभ करें।

<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

अगर यह कदम किसी की मदद करता है तो मुझे बताएं। जैसा कि आप इसे पहले पाते हैं, यह आपको समय बचा सकता है।

मैं localhost में मेरी htaccess फ़ाइल से सटीक लाइनों को जोड़ रहा हूँ। आपके सन्दर्भ के लिए

लाइन संख्या 110 के आसपास

<IfModule mod_rewrite.c>

############################################
## enable rewrites

Options +FollowSymLinks
RewriteEngine on

############################################
## you can put here your magento root folder
## path relative to web root

#RewriteBase /

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

छवियां कुछ ऐसे उपयोगकर्ता के लिए हैं जो टेक्स्ट से छवि से आसानी से समझते हैं:


यदि अन्य समाधान आपके लिए काम नहीं करते हैं, तो इसे आजमाएं:

चरण 1: (यदि आपकी स्थापना वेबूट में है)

बदलने के

    #RewriteBase /magento/

साथ में

    RewriteBase /

चरण 2:

निम्नलिखित पंक्तियां जोड़ें (समावेशी व्यवस्थापक को छोड़ दें क्योंकि बैकएंड को आंतरिक रूप से index.php की आवश्यकता होती है)

RewriteCond %{THE_REQUEST} ^.*/index.php
RewriteRule ^(.*)index.php$ http://www.yourdomain.com/$1 [R=301,L]
RewriteRule ^index.php/(admin|user)($|/) - [L]
RewriteRule ^index.php/(.*) $1 [R=301,QSA,L]

एकदम बाद

RewriteRule .* index.php [L] 

यह मेरे लिए काम करता है

यदि यह अभी भी काम नहीं कर रहा है, तो Magento कॉन्फ़िगरेशन को दोबारा जांचें: सिस्टम-> कॉन्फ़िगरेशन-> वेब-> खोज इंजन अनुकूलन। पुनर्लेखन सक्षम होना चाहिए।


काम करने के लिए स्वच्छ यूआरएल बनाने के लिए आपको apache में mod_rewrite को सक्षम करना होगा

यदि mod_rewrite phpinfo में नहीं है तो आपको इसे इंस्टॉल करना होगा

sudo a2enmod rewrite
sudo apache2ctl -l

आपको AllowOverride none की घटना को AllowOverride all को अनुमति देने के लिए अनुमति देने की आवश्यकता है (/ etc / apache2 / साइट-सक्षम / 000-डिफ़ॉल्ट में)

अपाचे को पुनरारंभ करें

sudo service apache2 restart

Magento के व्यवस्थापक में System > Configuration > Web > search engine Optimization और हां में " Use Web Server Rewrites " बदलें


आपके .htaccess में इसके बारे में कैसे:

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

नीचे दिए गए चरणों का पालन करें इससे आपकी मदद मिलेगी।

चरण 1: अपनी साइट रूट फ़ोल्डर पर जाएं और आप वहां .htaccess फ़ाइल पा सकते हैं। इसे एक टेक्स्ट एडिटर के साथ खोलें और लाइन #RewriteBase /magento/ । बस इसे #RewriteBase / से #RewriteBase / केवल 'Magento /' #RewriteBase /

चरण 2: फिर अपने व्यवस्थापक पैनल पर जाएं और रिवाइट सक्षम करें (उपयोग वेब सर्वर रिवाइट्स के लिए हाँ सेट करें)। आप इसे सिस्टम-> कॉन्फ़िगरेशन-> वेब-> खोज इंजन अनुकूलन पर पा सकते हैं।

चरण 3: फिर कैश प्रबंधन पृष्ठ (सिस्टम कैश प्रबंधन) पर जाएं और अपनी कैश रीफ्रेश करें और साइट को चेक करने के लिए रीफ्रेश करें।