2012-04-01 17 views
10

पर कोडनिर्देशक के index.php को फिर से लिखना कैसे करें Windows Azure और IIS पर codeigniter में index.php को कैसे निकालें?विंडोज़ Azure

क्या मैं किसी विशेष मॉड्यूल के बिना कोडिनेटर के index.php के लिए यूआरएल को फिर से लिख सकता हूं?

उत्तर

14

आप अपनी web.config फ़ाइल में रीराइट नियम जोड़ सकते हैं। जोड़े system.webServer अनुभाग के लिए निम्न:

<rewrite> 
    <rules> 
    <rule name="Rule" stopProcessing="true"> 
     <match url="^(.*)$" ignoreCase="false" /> 
     <conditions> 
     <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" /> 
     <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" /> 
     <add input="{URL}" pattern="^/favicon.ico$" ignoreCase="false" negate="true" /> 
     </conditions> 
     <action type="Rewrite" url="index.php/{R:1}" appendQueryString="true" /> 
    </rule> 
    </rules> 
</rewrite> 
+0

धन्यवाद, यह पूरी तरह से काम करता है :) – Rbeuque74

+0

यह सेटिंग अधिकांश PHP ढांचे (ज़ेंड 1/2, लार्वेल इत्यादि) पर काम करनी चाहिए –

+0

यह मेरे लिए काम नहीं कर रहा था और फिर मुझे एहसास हुआ कि मैंने अपने index.php के संदर्भ को स्थानांतरित कर दिया है किसी एप्लिकेशन फ़ोल्डर (कोडिग्निटर के लिए) में फ़ाइल करें ताकि शायद याद रखने की अच्छी बात यह हो कि यह फ़ाइल होनी चाहिए जहां index.php फ़ाइल आपके लिए है। – Dusan

10

wwwroot

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <system.webServer> 
     <rewrite> 
      <rules> 
       <rule name="Imported Rule 1" stopProcessing="true"> 
        <match url="^(.*)$" ignoreCase="false" /> 
         <conditions logicalGrouping="MatchAll"> 
          <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> 
          <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> 
         </conditions> 
         <action type="Rewrite" url="index.php?url={R:1}" appendQueryString="true" /> 
       </rule> 
      </rules> 
     </rewrite> 
    </system.webServer> 
</configuration> 
1

में एक फ़ाइल नाम web.config बनाएं तुम भी एक शर्त के साथ की तरह

<rule name="a rule"> 
<match url="^xxx/(.*)/(.*)-(.*)\.xxx" /> 
<conditions logicalGrouping="MatchAll" trackAllCaptures="false" /> 
<action type="Rewrite" url="controller/method/{R:3}" /> 
</rule> 

अन्य पुनर्लेखन नियम लागू कर सकते हैं, $ config ['url_protocal'] = 'PATH_INFO' को बदलना है; config/config.php में यह यूआरएल रीराइटिट मॉड्यूल को मूल यूआरएल के बजाय पुनः लिखित यूआरआई का उपयोग करने के लिए बताएगा, अन्यथा आपके पास 404 पेज समस्या नहीं मिलेगी।