2

也许这是一个愚蠢的问题

我有以下当前代码:

  RewriteEngine On
  RewriteRule ^(.*) /image/modify.php?pic=$1 [QSA]

我输入网址http://site.com/image/20121207/test.jpg&w=256

将显示调整大小的图像。原始网址是:

http://site.com/image/modify.php?pic=20121207/test.jpg&w=256

但是我怎样才能将 &w= 更改为 ?w= ?

w= 是随机的,也许有人会输入 h= / r= ...等

请给我一些提示

4

4 回答 4

1

太简单 :

RewriteEngine On
RewriteRule ^([^/]*)(?)(.*)$ /image/modify.php?pic=$1&$2 [QSA]

希望它工作....

于 2012-12-07T09:00:32.987 回答
1

这个怎么样:

RewriteEngine On
RewriteRule ^image/([^/]*)(?)(.*)$ /image/modify.php?pic=$1&$2 [QSA]

并输入网址:

http://site.com/image/20121207/test.jpg?w=256

我已经尝试过了,我认为它会起作用......祝你好运

于 2012-12-07T10:22:49.653 回答
1

Apache 重写器足够智能,可以正确处理查询参数。这就是“查询字符串追加”QSA的用途。您可以访问并且应该正确地重写它。20121207/test.jpg?w=256modify.php?pic=20121207/test.jpg&w=256

于 2012-12-07T08:29:00.693 回答
1

尝试这个:

RewriteRule ^([^/]+)/([^/]+)/([^?&]+)?(.*) /image/modify.php?pic=$1$2$3&$4 [QSA]
于 2012-12-07T08:33:53.140 回答