2012-09-04 17 views
8

मैं एमओडीएक्स क्रांति 2.2.4-पीएल का उपयोग कर रहा हूं। मैं आपूर्ति की गई। Htaccess फ़ाइल का उपयोग कर रहा हूं और दोस्ताना यूआरएल चालू है। ये मेरे पुनर्लेखन नियम हैं।दोस्ताना यूआरएल से .html को कैसे हटाएं - मोडक्स?

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA] 

यूआरएल से इसे हटाए जाने की तरह दिखने की क्या ज़रूरत है?

मैं पिछले बीस मिनट के लिए इस googling किया गया है और मेरे समाधान काम नहीं किया। धन्यवाद

उत्तर

23

वहाँ एक बहुत ही आसान तरीका में बनाया गया है। प्रबंधक में लॉग इन करें।

MODx क्रांति

2.2.x और पूर्ववर्ती संस्करण: System -> Content Types पर जाएं।

2.3.x और बाद में: Content -> Content Types पर जाएं।

HTML खोजें और "फ़ाइल एक्सटेंशन" में जो लिखा गया है उसे मिटाएं। संपादन योग्य फ़ील्ड को सक्रिय करने के लिए आप तालिका में .html डबल क्लिक करके ऐसा करते हैं। सामग्री मिटा दिए जाने के बाद, स्पष्ट कैश।

MODx विकास

Tools -> Configuration -> Friendly URLs पर जाएं।

"दोस्ताना यूआरएल प्रत्यय" में सामग्री हटाएं। सहेजें और कैश साफ़ करें।

+2

+1 यह 'एमओडीएक्स रास्ता' है: .htaccess समाधान से अधिक कुशल है, जो 'रीडराइट' के माध्यम से संसाधन के लिए 'सीधी' पहुंच को अनुमति देता है हर अनुरोध पर। यदि .html में समाप्त होने वाले पृष्ठों को इंगित करने वाले मौजूदा बाहरी लिंक हैं, तो रिवाइट्रूल का उपयोग करना भी एक अच्छा विचार होगा। – okyanet

1

पहले, मैं आप को समझने के लिए इस .htaccess करने के लिए कोशिश कर रहा है की जरूरत है।

यह उस साइट पर आने वाले सभी अनुरोधों को रीडायरेक्ट करने का प्रयास कर रहा है जो वास्तविक फ़ाइल या निर्देशिका (यानी छवियों, सीएसएस, या अन्य स्क्रिप्ट्स के लिए नहीं हैं जो "मुख्य" वेबसाइट का हिस्सा नहीं हो सकता) index.php पर स्थित नियंत्रक।

यदि आप जो करने की कोशिश कर रहे हैं वह आपकी साइट पर * .html फ़ाइलों का समूह का उपयोग करें (और फ्रंट कंट्रोलर नहीं), लेकिन उन्हें क्लीन यूआरएल का उपयोग करना है तो आपको एक अलग प्रकार की पुनर्लेख का उपयोग करने की आवश्यकता होगी। शायद अधिक की तरह

RewriteCond %{REQUEST_FILENAME}.html -f 
RewriteRule ^(.*)$ $1.html [L,QSA] 

यह नियम कुछ http://domain.com/somepage के रूप में एक अनुरोध लेने के लिए और यह चुपचाप http://domain.com/somepage.html को इंगित अनुरोध सेवा करने के लिए होगा।

3

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

# The Friendly URLs part 
#RewriteCond %{REQUEST_FILENAME} !-f 
#RewriteCond %{REQUEST_FILENAME} !-d 
#RewriteRule ^(.*)$ index.php?q=$1 [L,QSA] 


RewriteCond %{REQUEST_URI} \.html$ 
RewriteRule ^(.*)\.html$ $1 [R=301,L] 

RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA] 
#RewriteRule . /index.php [L] 
+0

धन्यवाद आदमी! अत्यधिक सराहनीय। – Brant

+0

कोई समस्या नहीं! [हालांकि अगर मेमोरी परोसता है, तो मुझे यह एक स्टैक्सएक्सचेंज प्रश्न से भी मिला है :)] –

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