আইআইএস পুনর্লিখন, মানচিত্র এবং ক্যোয়ারী স্ট্রিংগুলি পুনরায় লিখুন


10

পুনরায় লেখার মানচিত্রগুলি বুঝতে দয়া করে আমাকে সহায়তা করুন, আমার এই সেটআপটি রয়েছে:

<rewriteMap name="MyMap">
   <add key="/pages" value="/website/pages/index.aspx" />
   <add key="/pages/page-1" value="/website/pages/page-1/index.aspx" />
   <add key="/pages/page-1/section-1" value="/website/pages/page-1/section-1.aspx" />
</rewriteMap>

আমার নিয়মটি এখানে:

<rule name="Rewrite rule for MyMap" stopProcessing="true">
   <match url=".*" />
   <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
      <add input="{MyMap:{REQUEST_URI}}" pattern="(.+)" />
   </conditions>
   <action type="Rewrite" url="{C:1}" appendQueryString="true" />
</rule>

আমি এই পৃষ্ঠাগুলি অ্যাক্সেস করার চেষ্টা করলে এটি কাজ করছে:

  • www.mydomain.com/pages (ঠিক আছে)
  • www.mydomain.com/pages/page-1 (ঠিক আছে)
  • www.mydomain.com/pages/page-1/section-1 (ঠিক আছে)

তবে আমি এই পৃষ্ঠাগুলির যে কোনও একটিতে কোয়েরি স্ট্রিং যুক্ত করার সম্ভাবনাটি চাই, উদাহরণস্বরূপ:

  • www.mydomain.com/pages?page=1 (FAIL)

আমি যখন এই পৃষ্ঠাটি অ্যাক্সেস করার চেষ্টা করি তখন আমি একটি 404 পাই I আমি কীভাবে এটি কাজ করতে পারি?

উত্তর:


12

ডিফল্টরূপে পুনর্লিখনের মানচিত্র ব্যবহার করে ইউআরএল পুনর্লিখনের নিয়মগুলি {REQUEST_URI} ভেরিয়েবলের সাথে মিলছে । এটিতে ইউআরএল + ক্যোয়ারী স্ট্রিং রয়েছে। এটি আপনাকে কোয়েরি স্ট্রিং প্যারামিটারগুলির সাথে ইউআরএলগুলির সাথে মেলে এবং অন্য পৃষ্ঠাগুলিতে পুনর্লিখনের অনুমতি দেয়। খুব সহজ তবে এটি আপনার যা প্রয়োজন / প্রয়োজন তা স্পষ্টতই নয়।

আপনি কোয়েরি স্ট্রিং ছাড়াই কেবলমাত্র ইউআরএল এর বিপরীতে মিল করতে চান। অর্ডার এটি পরিবর্তন করতে আপনি প্রতিস্থাপন আছে {REQUEST_URI} করতে অবস্থায় {URL} এর । তারপরে পুনরায় লেখার মানচিত্রের সাথে কেবল ইউআরএল (কোয়েরি স্ট্রিং ছাড়াই) মিলবে। এরপরে আপনি পুনরায় লিখিত URL এ ক্যোয়ারী স্ট্রিং যুক্ত করতে পারেন যাতে মৃত্যুদন্ড কার্যকর হওয়া স্ক্রিপ্টটিতে এখনও এর অ্যাক্সেস থাকে।

আপনি এখানে একটি নিয়ম দিয়ে শেষ:

<rule name="Rewrite rule for MyMap">
    <match url=".*" />
    <conditions>
        <add input="{MyMap:{URL}}" pattern="(.+)" />
    </conditions>
    <action type="Rewrite" url="{C:1}" appendQueryString="true" />
</rule>

1
দুর্দান্ত ব্যাখ্যা। আমি ভাবছিলাম কীভাবে ম্যাচের উদ্দেশ্যে কীভাবে ক্যুরিস্ট্রিং উপেক্ষা করা যায়।
— dthrasher

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.