将路径转换为一个GET变量(Convert path to one get variable)

2019-10-20 00:40发布

我怎么会去改造这个网址:

http://example.com/this/is/my/path.html http://example.com/this/is/my/path.html?var=2&varr=3

为此:

http://example.com?path=this/is/my/path.html http://example.com?path=this/is/my/path.html&var=2&varr=3

我已经看到了如何将它转换成多个GET变量,但没有为包括获取变量以及整个路径很多教程。

Answer 1:

见下面我的编辑

尝试这个 :

RewriteEngine On

RewriteRule ^(.*)$ ?path=$1 [QSA]

该重写规则的第一部分将捕获没有查询字符串(GET参数)的完整路径。 该重写规则的第二部分将命名为“路”包含我们之前所拍摄的全路径GET参数改写。 然后,使用[QSA]标志(这应该是阿帕奇的默认行为),我们告诉Apache保持原来的GET参数,然后附加到新的查询字符串。

编辑:

有这样的回答,重定向循环的一个主要问题。 这里一个更好的解决方案:

RewriteEngine On
RewriteCond %{QUERY_STRING} !path=
RewriteRule ^(.*)$ ?path=$1 [QSA,L]


文章来源: Convert path to one get variable