1

这是我正在尝试做的一个例子。

转这个:

http://example.com/products/

进入这个:

http://example.com/app.php?products

最后我还需要对查询的支持,例如::

这:

http://example.com/products/?foo=bar&boat=row

进入这个:

http://example.com/app.php?products&foo=bar&boat=row

这是我到目前为止的重写:

RewriteRule ^([A-Za-z0-9]+)/?\??([A-Za-z0-9\+=&]+)?$ app.php?$1&$2 [L]

这适用于我的前两个示例,但是第二个示例仅适用于类似 url

http://example.com/products/foo=bar&boat=row

我需要能够在那里有那个问号,我认为\?? 在我的重写中应该这样做,但它没有,并且 instad 返回 404。我做错了什么?谢谢。

4

1 回答 1

2

可以使用QSA标志附加查询字符串,您不能与 a 中的查询字符串匹配RewriteRule。试试这个:

RewriteRule ^([A-Za-z0-9]+)/?$ app.php?$1 [L,QSA]
于 2012-08-05T00:10:56.483 回答