पर मैं विंडोज 7 आरसी पर आईआईएस 7.5 का उपयोग कर रहा हूं। मैं यूआरएल यूआरएल रिवाइट मॉड्यूल का उपयोग यूआरएल को फिर से लिखने के लिए करता हूं।आईआईएस 7.5 यूआरएल के साथ रीब्राइट मॉड्यूल डबल्स क्वेरीब्रिंग पैराम्स पोस्टबैक
सबकुछ ठीक काम करता प्रतीत होता है, जब तक कि मैं एक बटन क्लिक करके पोस्टबैक नहीं करता। ,
फिर से लिखा यूआरएल के रूप में यह ब्राउज़र में प्रकट होता है:: यह तो मेरे फिर से लिखा यूआरएल के लिए क्वेरी स्ट्रिंग पैरामीटर, इस तरह जोड़ देती http://localhost/en/product/1239/Gary+Fisher+Hkek+Mountain+Bike
URL वह URL पुनर्लेखन के बिना है:
http://localhost/product.aspx?lang=en&id=1239&title=Gary+Fisher+Hkek+Mountain+Bike
जब मैं एक पोस्टबैक करने के लिए एक बटन पर क्लिक करता हूं, तो यूआरएल इसमें बदल जाता है:
और जब यूआरएल फिर से लिखा है, सभी querystring पैरामीटर दोगुनी कर रहे हैं - तो जब मैं ऐसा करने से वर्तमान भाषा प्राप्त करना चाहते हैं:
Request.QueryString["lang"]
मूल्य मैं वापस पाने के ", एन एन" है।
क्या कोई और समस्या है?
अद्यतन: Web.Config
से नियम पुनर्लेखन<rule name="RedirectProductPageUrls" stopProcessing="true">
<match url="^product\.aspx$" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_METHOD}" negate="true" pattern="^POST$" />
<add input="{QUERY_STRING}" pattern="^lang=([^=&]+)&id=([^=&]+)&title=([^=&]+)$" />
</conditions>
<action type="Redirect" url="{C:1}/products/{C:2}/{C:3}" appendQueryString="false" redirectType="Permanent" />
</rule>
<rule name="RewriteProductPageUrls" stopProcessing="true">
<match url="^([^/]+)/product/([^/]+)/([^/]+)/?$" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="product.aspx?lang={R:1}&id={R:2}&title={R:3}" />
</rule>
क्या आप अपना पुनर्लेखन नियम पोस्ट कर सकते हैं? वेब.कॉन्फिग में जो कुछ भी है पोस्ट करें:<नियम नाम = "foo"> ... –
पुन: लिखने वाले नियम के साथ अपडेट किया गया है, और उत्पाद पृष्ठों के लिए एक रीडायरेक्ट नियम। – MartinHN