【问题标题】:Cross Domain 301 Redirect URL With Spaces带空格的跨域 301 重定向 URL
【发布时间】:2013-07-02 16:29:58
【问题描述】:

我在重定向以下格式的 URL 时遇到严重问题:

oldsite.com/file name.htm 到 newsite.com/newfilename.htm

启用了 mod_rewrite 等的 Apache 服务器 - 其他 301 工作正常(即 301 重定向不带空格的 url)

我已经尝试了许多解决方案,并且在 stackoverflow 上浏览了几乎所有答案。

非常感谢任何帮助 - 在我拔出最后一根头发之前需要解决这个问题!

谢谢大家!

编辑:这是我成功用来重定向所有没有空格的 URL 的代码。

Options +FollowSymlinks
RewriteEngine on
rewriterule ^somedirectory/solutions.htm(.*)$ http://www.newdomain.com/new-solutions/$1 [r=301,nc]

【问题讨论】:

  • 请提供一些您试图帮助我们改进的代码。
  • 您能描述一下您遇到的问题吗?我们所知道的是,您在重定向 URL 时遇到了“严重问题”。我猜服务器与您的“...文件名.htm”不匹配,您是否尝试过 URL 编码? %20 用于空间。和 mod_rewrite 有什么关系?看来你想重定向,而不是重写,我相信这是 mod_alias。
  • 已尝试:在重定向代码中包含 %20,尝试转义空格等。所有其他重定向工作正常,因此 mod_alias 或 mod_rewrite 没有问题

标签: redirect mod-rewrite dns http-status-code-301


【解决方案1】:

您是否尝试过在重写或重定向规则中转义空格?下面的例子。

oldsite.com/file\ name.htm

好吧,也许试试这个。请注意,这仅适用于该特定页面。

redirect 301 "/file name.htm" http://newsite.com/newfilename.htm

【讨论】:

  • 干得好 Pjack - 它工作得很好。感谢您的帮助!
【解决方案2】:

空格在 URL 中编码为%20

oldsite.com/file%20name.htm

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-25
    • 1970-01-01
    • 2011-11-06
    • 2012-01-19
    • 2013-10-05
    • 2013-09-26
    • 2014-12-04
    • 1970-01-01
    相关资源
    最近更新 更多