Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.NET Web表单-响应。重定向到SEO友好URL_Asp.net_Seo_Friendly Url_Response.redirect - Fatal编程技术网

ASP.NET Web表单-响应。重定向到SEO友好URL

ASP.NET Web表单-响应。重定向到SEO友好URL,asp.net,seo,friendly-url,response.redirect,Asp.net,Seo,Friendly Url,Response.redirect,我们有一个stockists页面,我们可以通过以下URL按产品和/或香水进行过滤 /products/stockists?product=all&fragrance=all 我们希望将其更新为一个友好的URL,如下所示 /products/stockists/all/all protected void btnSubmit_Click(object sender, EventArgs e) { var product = this.Product.SelectedValue;

我们有一个stockists页面,我们可以通过以下URL按产品和/或香水进行过滤

/products/stockists?product=all&fragrance=all
我们希望将其更新为一个友好的URL,如下所示

/products/stockists/all/all
protected void btnSubmit_Click(object sender, EventArgs e)
{
    var product = this.Product.SelectedValue;
    var fragrance = this.Fragance.SelectedValue;
    base.Response.Redirect("~/products/stockists/" + product + "/" + fragrance);
}
为此,我们设置了一个按钮点击如下

/products/stockists/all/all
protected void btnSubmit_Click(object sender, EventArgs e)
{
    var product = this.Product.SelectedValue;
    var fragrance = this.Fragance.SelectedValue;
    base.Response.Redirect("~/products/stockists/" + product + "/" + fragrance);
}
我们已经设置了以下URL重写

<rule name="Stockists Rewrite" stopProcessing="true">
    <match url="^products/stockists/(.*)/(.*)" />
    <action type="Rewrite" url="/products/stockists.aspx?product={R:1}&amp;fragrance={R:2}" redirectType="Permanent" />
</rule>
Web.config重定向和重写。并非100%确定所有内容都处于正确的顺序,但所有其他重写/重定向都按预期工作

<rewrite>
  <rewriteMaps>
    <rewriteMap name="Redirects">
      <add key="/fragrances.aspx" value="/products/company-fragrances.aspx" />
      <add key="/products/concentrated-disinfectants.aspx" value="/products/company-products.aspx" />
      <add key="/products/antibacterial-sprays.aspx" value="/products/company-products/antibacterial-sprays.aspx" />
      <add key="/products/professional-disinfectants.aspx" value="/products/company-products/professional-disinfectants.aspx" />
      <add key="/company-uses.aspx" value="/products/company-uses.aspx" />
      <add key="/stockists.aspx" value="/products/stockists.aspx" />
      <add key="/about-company.aspx" value="/in-the-know/about-company.aspx" />
      <add key="/news.aspx" value="/in-the-know/news.aspx" />
      <add key="/company-community.aspx" value="/in-the-know/company-community.aspx" />
      <add key="/faqs.aspx" value="/in-the-know/faqs.aspx" />
      <add key="/contact-us.aspx" value="/in-the-know/contact-us.aspx" />
      <add key="/bacteria--viruses/what-are-bacteria.aspx" value="/company-at-home/bacteria--viruses/what-are-bacteria.aspx" />
      <add key="/bacteria--viruses/what-are-viruses.aspx" value="/company-at-home/bacteria--viruses/what-are-viruses.aspx" />
      <add key="/bacteria--viruses/prevention-of-infection.aspx" value="/company-at-home/bacteria--viruses/prevention-of-infection.aspx" />
      <add key="/room-explorer.aspx" value="/company-at-home/room-explorer.aspx" />
      <add key="/competitions/win-a-molly-maid-cleaner-for-a-year!.aspx" value="/competitions/win-a-molly-maid-cleaner-for-a-year.aspx" />
      <add key="/stockists.aspx?store=Tesco" value="/products/stockists/tesco.aspx" />
      <add key="/stockists.aspx?store=Sainsbury%27s" value="/products/stockists/sainsburys.aspx" />
      <add key="/stockists.aspx?store=Asda" value="/products/stockists/asda.aspx" />
      <add key="/stockists.aspx?store=Morrisons" value="/products/stockists/morrisons.aspx" />
      <add key="/stockists.aspx?store=Savers" value="/products/stockists/savers.aspx" />
      <add key="/stockists.aspx?store=Wilkinson%27s" value="/products/stockists/wilkinsons.aspx" />
    </rewriteMap>
  </rewriteMaps>
  <rules>
    <clear />

    <rule name="Redirect Rule" stopProcessing="true">
      <match url=".*" />
      <conditions>
        <add input="{Redirects:{REQUEST_URI}}" pattern="(.+)" />
      </conditions>
      <action type="Redirect" url="{C:1}" appendQueryString="False" redirectType="Permanent" />
    </rule>

    <rule name="Redirect Fragrances" stopProcessing="true">
      <match url="^fragrances/(.*)" />
      <action type="Redirect" url="/products/company-fragrances/{R:1}" redirectType="Permanent" />
    </rule>

    <rule name="Redirect company Uses" stopProcessing="true">
      <match url="^company-uses/(.*)" />
      <action type="Redirect" url="/products/company-uses/{R:1}" redirectType="Permanent" />
    </rule>

    <rule name="Redirect News" stopProcessing="true">
      <match url="^news/(.*)" />
      <action type="Redirect" url="in-the-know/news/{R:1}" redirectType="Permanent" />
    </rule>

    <rule name="Redirect company Community" stopProcessing="true">
      <match url="^company-community/(.*)" />
      <action type="Redirect" url="in-the-know/company-community/{R:1}" redirectType="Permanent" />
    </rule>

    <rule name="Canonical home page" stopProcessing="true">
      <match url="^(home|home\.aspx|default|default\.aspx)$" />
      <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
      <action type="Redirect" url="/" redirectType="Permanent" />
    </rule>

    <rule name="Trim aspx for directory URLs" stopProcessing="true">
      <match url="(.*)\.aspx$" />
      <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
        <add input="{REQUEST_URI}" pattern="^/umbraco/" negate="true" />
        <add input="{URL}" pattern="\.axd$" negate="true" />
      </conditions>
      <action type="Redirect" url="{R:1}/" redirectType="Permanent" />
    </rule>

    <rule name="Lower Case Rule" stopProcessing="true">
      <match url=".*[A-Z].*" ignoreCase="false" />
      <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
        <add input="{REQUEST_URI}" pattern="^/umbraco/" negate="true" />
        <add input="{URL}" pattern="^.*\.(axd|asmx|css|js|jpg|jpeg|png|gif|mp3)$" ignoreCase="true" negate="true" />
        <add input="{URL}" pattern="/Base" negate="true" />
        <add input="{URL}" pattern="cdv=1" negate="true" />
        <add input="{URL}" pattern="\.axd$" negate="true" />
      </conditions>
      <action type="Redirect" url="{ToLower:{URL}}" redirectType="Permanent" />
    </rule>

    <rule name="Remove trailing slash" stopProcessing="true">
      <match url="(.*)/$" />
      <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
        <add input="{REQUEST_URI}" pattern="^/umbraco/" negate="true" />
        <add input="{URL}" pattern="^.*\.(asp|aspx|axd|asmx|css|js|jpg|jpeg|png|gif|mp3)$" ignoreCase="true" negate="true" />
        <add input="{URL}" pattern="/Base" negate="true" />
        <add input="{URL}" pattern="cdv=1" negate="true" />
        <add input="{URL}" pattern="\.axd$" negate="true" />
      </conditions>
      <action type="Redirect" url="{R:1}" />
    </rule>

    <rule name="Stockists Rewrite" stopProcessing="true">
      <match url="^products/stockists/(.*)/(.*)" />
      <action type="Rewrite" url="/products/stockists.aspx?product={R:1}&amp;fragrance={R:2}" redirectType="Permanent" />
    </rule>

  </rules>
</rewrite>

这对我来说很好。可能是表单中发生了其他事情。你能把代码也贴出来吗?