【问题标题】:Sitewide 301 Redirect with a subset of different redirects具有不同重定向子集的站点范围 301 重定向
【发布时间】:2011-01-27 05:14:26
【问题描述】:

我正在尝试为一个大约有 400 个页面的站点进行站点范围的 301 重定向,但也有大约 10 个单独页面的子集,这些页面不遵循站点范围的重定向,应该指向其他地方。

任何想法如何格式化此类重定向规则,以使站点范围的重定向不会与子页面重定向冲突?

我从站点范围的重定向规则开始:

选项 +FollowSymLinks 重写引擎开启 重写规则 (.*) http://www.name.com/$1 [R=301,L]

【问题讨论】:

    标签: .htaccess http-status-code-301


    【解决方案1】:

    重写规则是按照它们写入的顺序来解析的,所以你列出它们的顺序也定义了优先级。 鉴于此,您应该首先将请求 URI 与 10 个单独的页面匹配并相应地返回重定向,然后定义站点范围的重定向。

    如果 10 个单独的页面有一个目标 URL,则匹配规则可能是一个,否则您应该为每个请求 URI 执行一个重定向。

    注意在第一次重定向时使用 [L] 标志,如果规则匹配,告诉服务器退出例程,我也建议添加该行

    RewriteBase /

    这对于某些 Apache 版本至关重要,其中省略该行可能会导致 http bad conf 错误。

    选项 +FollowSymLinks #开启重写引擎: 重写引擎开启 RewriteBase / 个别重定向的#rules: RewriteRule http://example.com/myUrl-1 http://www.example.org/new-1 [R=301,L] RewriteRule http://example.com/myUrl-4 http://www.example.org/new-2 [R=301,L] RewriteRule http://example.com/myUrl-3 http://www.example.org/new-3 [R=301,L] #...等等 #sitewide 重定向规则: 重写规则 (.*) http://www.example.org/$1 [R=301]

    【讨论】:

      猜你喜欢
      • 2015-12-28
      • 2016-11-18
      • 1970-01-01
      • 2017-02-06
      • 2017-10-20
      • 2016-11-07
      • 2011-02-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多