带空格的跨域 301 重定向 URL
Posted
技术标签:
【中文标题】带空格的跨域 301 重定向 URL【英文标题】:Cross Domain 301 Redirect URL With Spaces 【发布时间】:2013-07-02 16:29:58 【问题描述】:我在重定向以下格式的 URL 时遇到严重问题:
oldsite.com/file name.htm 到 newsite.com/newfilename.htm
启用了 mod_rewrite 等的 Apache 服务器 - 其他 301 工作正常(即 301 重定向不带空格的 url)
我已经尝试了许多解决方案,并且在 *** 上浏览了几乎所有答案。
非常感谢任何帮助 - 在我拔出最后一根头发之前需要解决这个问题!
谢谢大家!
编辑:这是我成功用来重定向所有没有空格的 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 没有问题 【参考方案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
【讨论】:
以上是关于带空格的跨域 301 重定向 URL的主要内容,如果未能解决你的问题,请参考以下文章