是否有可能在URL参数规则中包含斜杠? 基本上我想要example.com/hello/world/去example.com?q=hello/world/。 任何例子,将不胜感激。
谢谢
重写规则可以实现这个的一个例子是:
RewriteEngine on RewriteRule ^/?(.+)$ ?q=$1
这将捕获“example.com”后的所有内容,并将其转换为q = x格式。
我假设你在一些dynamic服务器端程序(比如Tomcat或者PHP)之前使用Apache,因为Apache本身不能对包含查询string的URL做任何聪明的事情。 在这种情况下,您可能需要将[PT]标志添加到重写规则中,以确保入站URL在传递到dynamic引擎之前被重写。 该规则将如下所示:
RewriteRule ^/?(.+)$ ?q=$1 [PT]
您还应该考虑如果您的原始入站url包含自己的查询string,会发生什么情况。 这个示例规则在重写时不会包含入站查询string,但是您可以使用QSA标志来完成此操作。