2008-12-14 24 views
8

के लिए नियमों का पुनर्लेखन नियम मैं मुख्य डोमेन पर कोडिनिटर का मुख्य इंस्टॉल के रूप में उपयोग करता हूं। मैंने एक सबडोमेन और लाइव नामक फ़ोल्डर बनाया है उदा। live.domain.com मानचित्र सार्वजनिक/लाइव करने के लिए। हालांकि जनता में मैं कोडनिर्देशक का उपयोग करता हूं।.htaccess सबडोमेन

मैं अब गतिशील CodeIgniter यूआरएल है:

http://domain.com/api/

जो मैं अपने उप डोमेन पर मैप करना चाहते हैं:

https://live.domain.com

तो जा रहा करने के लिए:

https://live.domain.com/api/functioname

का उपयोग करेंगे स्क्रिप्ट:

http://domain.com/api/apifunctioname

और संभवतः:

http://domain.com/api/apifunctioname/parameter1/parameter

सब कुछ तो कोई भी रीडायरेक्ट की जरूरत है एक ही सर्वर पर है।

किसी के पास कोई विचार है जिस पर नियमों का उपयोग करने के लिए फिर से लिखना है?

Options +FollowSymLinks 

RewriteEngine On 

RewriteCond %{HTTP_HOST} ^live\.domain\.com [NC] 
RewriteRule (.+)$ "http://domain.com/api/$1" [L] 

ऊपर काम करता है एक पुनर्लेखन के रूप में महान लेकिन http://domain.com/api/functionname पर रीडायरेक्ट बजाय मैं यह मार्ग करना चाहते हैं; ताकि जब जा रहा करने के लिए:

https://live.domain.com/api/functioname

ऐसा नहीं है कि यूआरएल में रहता है लेकिन

http://domain.com/api/functionname

की स्क्रिप्ट का उपयोग करता है बहुत बहुत धन्यवाद,

बर्फ

उत्तर

10

कैसे निम्नलिखित की तरह कुछ के बारे में :

 
RewriteEngine On 
RewriteCond %{HTTP_HOST} ^live\.domain\.com$ [NC] 
RewriteRule (.+)$ "https://domain.com/api/$1" [L,P] 
+0

आप फिर भी धन्यवाद मुझे लगता है कि कोशिश की, लेकिन मैं सिर्फ एक 404 नहीं मिला मिला - बहुत अजीब –

+0

मैं शायद यह है कि यह अपरीक्षित है उल्लेख करना चाहिए। क्या आपने mod_rewrite loglevel को घुमाने का प्रयास किया है, और विश्लेषण किया है कि वास्तव में क्या चल रहा है? –

+0

आपके पास "^ live \ .domain \ .com" को रिवाइटकंड के रूप में होना चाहिए, और/reiriteCond/api/URL के लिए दूसरी रीवाइटकंड जांच होनी चाहिए। – Tomalak

4

बस index.php जोड़ने के लिए, नीचे देखें

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^live\.domain\.com$ [NC] 
RewriteRule (.+)$ "https://domain.com/index.php/api/$1" [L,P]