【发布时间】:2016-02-15 20:01:35
【问题描述】:
通过.htaccess 我想301将URL中的参数“pathval”重定向到“路径”,例如:
index.php?a=1&b=2&pathval=a_text_string&c=3
到:
index.php/a_text_string
甚至更好:
index.php/a_text_string?a=1&b=2&c=3
如果“pathval”是唯一的 URL 参数,我找到了许多解决此重定向的方法。
但是当 QUERY_STRING 中涉及其他参数并且所有参数可以按任何顺序并且可能包含任何价值。
所以可能的调用 (1) 可能是:
- index.php?a=1&b=2&c=3(这里没有重定向)
- index.php?pathval=a_text_string
- index.php?pathval=a_text_string&a=1&b=2&c=3
- index.php?a=1&b=2&pathval=a_text_string&c=3
- index.php?a=1&b=2&c=3&pathval=a_text_string
如果有人能给我一个适用于所有可能案例的通用解决方案,我会很高兴。
(1):在我的示例中,为了提高可见性,其他参数 a、b、c 都是数字,但这不是规则。也可能包含字符串甚至是空的。
【问题讨论】:
标签: apache .htaccess redirect mod-rewrite