【发布时间】:2015-10-12 15:16:12
【问题描述】:
我们为我们的一位客户建立了一个新的网上商店,并且正在 301 将他们的旧网址重定向到我们的正常网址。像往常一样,我们使用 .htaccess 执行此操作,如下所示:
Redirect 301 /url1/ http://www.url2.com/ 工作正常。
但是老店有这个查询字符串里面有斜线(!),例如:
/epages/14353.sf/de_DE/?ObjectPath=/Shops/61922345/Products/32428
一旦我在 htaccess 301 重定向字符串中使用它,它就会停止工作。我没有收到 500 错误或类似的错误,但是当我访问 /epages/14353.sf/de_DE/?ObjectPath=/Shops/61922345/Products/32428 时,它不会重定向。如果我将它与如下查询字符串 (/epages/14353.sf/de_DE/?ObjectPath=foobar) 一起使用,我可以访问它并被重定向,但如果其中有斜线则不能。
我尝试了反斜杠、编码等,但没有正确的结果。有任何想法吗?我尝试了AllowEncodedSlashes On,但它给了我一个 500 错误。
【问题讨论】:
-
Redirect指令与查询字符串完全不匹配。您确定没有其他原因导致此问题吗? -
@HansWassink 你能展示你的完整 .htaccess 吗?
-
@JonLin 你到底是什么意思?
-
@anubhava
Redirect 301 /epages/14353.sf/de_DE/?ObjectPath=/Shops/61922345/Products/32428 https://www.nu.nl这是文件中唯一的内容。老店没了,只是一个htaccess文件,有一个规则。
标签: apache .htaccess mod-rewrite url-redirection