2012-10-09 22 views
5

मैं समझता हूँ कि मैं निम्नलिखित web.config कोड के साथ यूआरएल की 'index.php' भाग निकाल सकते हैं:आईआईएस पर कोडनिर्देशक के index.php को हटाएं?

<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> 

समस्या मैं है सीआई किसी उप-निर्देशिका (mydomain.com/codeigniter) में स्थापित है और मुझे web.config फ़ाइल को समझने में परेशानी हो रही है।

क्या आप जानते हैं कि इसे कैसे बदला जाए ताकि यह उप-निर्देशिका के लिए काम करे?

धन्यवाद :)

+0

क्या आपने यूआरएल पथ को फिर से लिखने के लिए उपफोल्डर जोड़ने का प्रयास किया है? '' –

+0

धन्यवाद! यह काम करता है लेकिन केवल तभी मेरा पहला नियम नहीं है। मुझे वास्तव में शीर्ष निर्देशिका के लिए दो और उप-निर्देशिका के लिए एक की आवश्यकता है। – stuthemoo

उत्तर

11

मैं रूट निर्देशिका में वर्डप्रेस और एक उप निर्देशिका में मेरी CodeIgniter आवेदन किया है। मैं आपकी तरह एक समान web.config बना देता हूं और इसे उप-निर्देशिका में सहेजता हूं। मेरे सीआई ऐप को यूआरएल में index.php की आवश्यकता नहीं है।

सबसे पहले, मैं <action url="myapp/index.php/{R:1}"...> में अपनी उप-निर्देशिका जोड़ता हूं और चाहता हूं कि इसे केवल उप-निर्देशिका में देखने के लिए प्रतिबंधित किया जा सके लेकिन विफल हो जाता है। मैं उप-निर्देशिका को हटा देता हूं और इसे मूल पर छोड़ देता हूं लेकिन web.config को उपनिर्देशिका में ले जाता हूं और यह काम करता है।

इसलिए, मुझे लगता है कि शायद आप विभिन्न नियमों के साथ दो web.config फ़ाइलों को बना सकते हैं और उन्हें विभिन्न निर्देशिका में सहेज सकते हैं।

एक और नोट मदद कर सकता है: आईआईएस से विस्तार को आउटपुट करने के लिए त्रुटि संदेश सक्षम करें। मैं यह पता लगाने के लिए चाल का उपयोग करता हूं कि आईआईएस मेरी फाइलों के लिए कैसे दिखता है।

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 

    <system.webServer> 

     <httpErrors errorMode="Detailed" /> 
     <asp scriptErrorSentToBrowser="true"/> 

     <rewrite> 
     <rules> 
      <rule name="RuleRemoveIndex" 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" /> 
       </conditions> 
       <action type="Rewrite" url="index.php/{R:1}" appendQueryString="true"/> 
      </rule> 
     </rules> 
     </rewrite> 

    </system.webServer> 

    <system.web> 
     <customErrors mode="Off"/> 
     <compilation debug="true"/> 
    </system.web> 

</configuration> 

काश यह मदद: यह <httpErrors errorMode="Detailed" />, <asp scriptErrorSentToBrowser="true"/>, और नीचे के रूप में <system.web> अनुभाग है!

+0

धन्यवाद, मैं इसे दिनों के लिए देख रहा था। :) – Kits

+0

समाधान के लिए धन्यवाद :) –

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