IIS7 में उपनिर्देशिकाओं द्वारा विरासत में दिए जाने से यूआरएल को फिर से लिखना नियम रोकें


11

मेरे पास CMS और मेरे web.config में साफ यूआरएल के लिए एक यूआरएल रिवाइइट सेटअप है:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="Clean URLs" stopProcessing="true">
                    <match url="^([^/]+)/?$" />
                    <conditions>
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
                    </conditions>
                    <action type="Rewrite" url="?id={R:1}" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

यह मूल रूप से बदल जाता है index.php?id=somethingमें somethingसाफ यूआरएल के लिए। बहुत सरल है और यह अच्छी तरह से काम करता है।

के रूप में CMSs में आम है, तोड़ने से बैक-एंड को रोकने के लिए, प्रत्येक उपनिर्देशिका या तो की आवश्यकता है <remove name="Clean URLs" />या <clear />अपने web.config में तो नियम विरासत में मिला नहीं है।

क्या माता-पिता के शासन में यह निर्दिष्ट करने का कोई तरीका है कि इसे अपने बच्चों द्वारा किसी भी तरह से केवल वर्तमान निर्देशिका में नियम के दायरे को सीमित करके विरासत में नहीं दिया जाना चाहिए? <rule name="Clean URLs" stopProcessing="true" inherit="no">महाकाव्य जैसा कुछ होगा।

जवाबों:



6

मैं हाल ही में इस समस्या में भाग गया, एक समान स्थिति में। लेकिन renenkins का जवाब माता-पिता की सेटिंग्स की विरासत पर भरोसा करने वाले आभासी अनुप्रयोगों के साथ समस्या पैदा करेगा।

यदि आप फिर से लिखना नियम जानते हैं, तो आप यह कर सकते हैं:

<rewrite>
  <rules>
    <remove name="RewriteNameToDisable" />
  </rules>
</rewrite>

2
यह मेरा पहला प्रयास था, लेकिन आपको हर उपनिर्देशिका के लिए web.config में रखना होगा और यह हमेशा व्यावहारिक नहीं होगा। मैं सहमत हूँ कि यह क्लीनर है, लेकिन यह अधिक काम है, खासकर जब उपनिर्देशिकाओं में पुनर्लेखन हो सकता है (उदाहरण के लिए एक सबफ़ोल्डर में सेमी का एक और उदाहरण)
रिच जेनक्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.