【问题标题】:How to redirect website without affecting blog?如何在不影响博客的情况下重定向网站?
【发布时间】:2023-03-13 02:55:01
【问题描述】:

我正在运行一个 Asp.Net (4.0) 网站。同一台机器上还有一个 Wordpress 博客。

博客是主域下的一个文件夹:www.mydomain/blog/

这就是问题所在。

我刚刚进行了一些页面分析,发现链接汁在带有尾部斜杠的页面和没有尾部斜杠的页面之间分割。

我找到了删除尾部斜杠的代码(我的首选选项)并将其添加到我的网络配置中 - 它可以在主站点上运行,但会导致 Wordpress 出现问题。

    <rule name="Remove trailing slash">
      <match url="(.*)/$" />
      <conditions>
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
      </conditions>
      <action type="Redirect" redirectType="Permanent" url="{R:1}" />
    </rule>

代码不是问题。 (4.0) 中的 Asp.Net 路由创建不带斜杠的路由 - 另一方面,Wordpress 创建带有斜杠的路由 - 因此在我的主 web.config 中实现代码会导致循环问题。我也担心 SEO 的影响。

有没有一种方法可以修改上面的代码,让它在主站点而不是博客上运行?

提前致谢。

【问题讨论】:

  • 是 WP Php?。如果是这样,请检查if this helps。尽管我在实践中从未做过上述操作,但我认为 application scope 应该仍然起作用 - re:让 ASP.net 只处理 ASP.net(单独的应用程序范围)。嗯……

标签: asp.net wordpress url-rewriting url-routing


【解决方案1】:

尝试将这行xml添加到条件中:

<add input="{REQUEST_FILENAME}" 
     matchType="Pattern" 
     pattern="/blog/$" 
     negate="true" />

如果它以/blog/ 结尾,它应该告诉重定向不要触发

【讨论】:

  • 对不起,我想我误读了你的问题。 wordpress 是否为您提供如下网址:mysite.com/blog/post-1/?如果是这样,请将模式更改为:/blog/.+/$,因为当前模式仅阻止以 /blog/ 结尾的 url,但如果您的 url 模式不同,这对您没有帮助。一般来说,解决方案是对 IIS 说:“只有在我的 url 看起来不像 wordpress url 时才重定向”,无论这些 url 是什么样的。
  • 谢谢welegan - 我会一有机会就去尝试
猜你喜欢
  • 2011-07-31
  • 1970-01-01
  • 1970-01-01
  • 2015-12-03
  • 2016-12-17
  • 1970-01-01
  • 2013-10-28
  • 2012-08-22
  • 2018-07-30
相关资源
最近更新 更多