2012-07-03 31 views
5

मैं एक PHP डेवलपर हूं और मैं वर्तमान में एक सीएमएस/ब्लॉग सिस्टम विकसित कर रहा हूं। मैं वर्डप्रेस जैसे परमालिंक सिस्टम जोड़ना चाहता हूं। मैं वर्डप्रेस पार्स परमालिंक के बारे में उत्सुक हूं। उदाहरण के लिए, कैसे id और post name से की तरह डेटा प्राप्त करने:वर्डप्रेस परमालिंक सिस्टम कैसे काम करता है?

example.com/id/123/post/example/ 

संक्षेप में, मैं एक प्रणाली यूआरएल से id और post name प्राप्त करना चाहते हैं। मैं जैसे टैग का उपयोग वर्डप्रेस की तरह स्थायी लिंक संरचना को बदलने के लिए उपयोगकर्ताओं को सक्षम करना चाहते हैं:

id/%postid%/post/%postname%/ 

मैं $id और $post_name की तरह चर में डेटा कैसे मिलता है जहां मूल्यों 123 और example करेगा? क्रिप्या मेरि सहायता करे। अग्रिम धन्यवाद।

उत्तर

0

यह इस बात पर निर्भर करता है कि आप किस सर्वर सॉफ़्टवेयर का उपयोग कर रहे हैं, लेकिन यदि आप अपाचे पर अपनी स्क्रिप्ट का उपयोग करने की योजना बनाते हैं, तो आमतौर पर mod_rewrite और विशेष रूप से .htaccess फ़ाइल नामक किसी चीज़ का उपयोग करना शामिल है।

मैं इस विषय पर एक ट्यूटोरियल पढ़कर शुरू करने की सलाह दूंगा। As usual, Google is your friend

5

आमतौर पर उपलब्ध अपाचे मॉड्यूल mod_rewrite इससे आपकी सहायता कर सकता है। आप जो करते हैं वह एक .htaccess फ़ाइल के अंदर नियमों को फिर से लिखना है, और फिर से लिखने के माध्यम से, फैंसी संरचनाएं जो आम तौर पर फ़ाइल सिस्टम जैसा दिखती हैं, एक PHP फ़ाइल को $ _GET पैरामीटर के रूप में भेजी जाती हैं।

उदाहरण के लिए, अगर आप की तरह कुछ को बदलने के लिए चाहता था: ?reactor=13 में /reactor/13/

लिखें .htaccess फाइल में इस पुनर्लेखन नियम: यदि बजाय index.php की आप प्राप्त कर लेते हैं अब

RewriteEngine on 
RewriteRule reactor/([0-9]+)/$ index.php?id=$1 

/रिएक्टर/13 /, अपने index.php फ़ाइल इस में देखना चाहिए $ _GET:

Array 
(
    [id] => 13 
) 

अब, अपने एचटीएमएल कोड के लिए, यह आप पर निर्भर यूआरएल एक शिल्प के लिए है अपने विचार-विमर्श संरचना का पालन करें।

ये पुनर्लेखन नियम भ्रमित हो सकते हैं, लेकिन वे एक लॉजिकल रेगेक्स पैटर्न का पालन करते हैं।

वर्डप्रेस इन संपादनों को डालने से एक मजबूत दृष्टिकोण लेता है। Htaccess फ़ाइलें, जहां वे WP को सबकुछ भेजते हैं, और फिर WP नियमों को आंतरिक नियमों के माध्यम से हल करता है।

+0

जहां WP स्रोत में यह लिंक संसाधित करता है? मुझे यकीन है कि आप सही हैं (बनाए गए mod_rewrite नियम बहुत सरल/सामान्य हैं), लेकिन अगर मैं देख सकता हूं कि यह कहां होने वाला है तो यह मुझे एक अजीब समस्या का निदान करने में मदद करेगा। – iX3

+1

डब्ल्यूपी वास्तव में एक ही स्थान पर इंगित करने के लिए बहुत ही जटिल या सारणीबद्ध है। आप इसे https://github.com/WordPress/WordPress/search?q=permalink_structure&source=cc पर देखकर देख सकते हैं – pp19dd