【发布时间】:2014-05-30 01:18:38
【问题描述】:
我完全感到困惑,可以使用帮助编写特定重定向模式的规则。
在原始站点中,URL 可能类似于:
https://subdomain.originalsite.com/folder1/folder2/folder3/file.tt?state=CA&lvl=state
或
https://subdomain.originalsite.com/folder1/folder2/?command=state_search&state=CA
或任意数量的类似请求
当这个重定向时,我需要它登陆 http://newsite.com/newfile.php 而不管原始 URL,但我需要新页面“馈送”原始 URL,以便我们可以根据原始 URL 进行一些处理
有没有办法将查询字符串数据中的原始 URL 传递给新 URL?
这两个例子的最终结果是:
http://newsite.com/newfile.php?path=folder1/folder2/folder3/file.tt&q=state|CA||lvl=state
和
http://newsite.com/newfile.php?path=folder1/folder2/&q=command|state_search||state|CA
所以原来的文件夹路径变成了 path=,而原来的查询字符串(如果有的话)的开始变成了 q=
原始查询字符串键/值对用管道替换=|和符号变成双管 ||
我知道这很丑。
对编写此规则的任何帮助深表感谢。
【问题讨论】:
-
将新 URL 设为
http://newsite.com/newfile.php?path=folder1/folder2/&q=<encoded original query string>会更好(也更干净) -
那很好,但我仍然需要了解规则才能做到这一点
-
当然这样的事情应该是可能的......但是你有没有尝试过任何东西......?
-
如果我明白我就不会问了。我发现重写规则充其量是令人烦恼的,并且花了好几个小时阅读以尝试了解如何处理这个问题。
标签: regex apache .htaccess mod-rewrite redirect