Apache 带问号的基本mod_重写操作

Apache 带问号的基本mod_重写操作,apache,mod-rewrite,Apache,Mod Rewrite,我想改写以下地址: 致: 我尝试了以下代码,但对我无效。我想问题出在问号上: RewriteRule ^page?att=([A-Za-z0-9-_]+)/?$ page.php?att=$1 [L] 您无法在RwriteRule中匹配查询字符串,但在这种情况下,您根本没有重写查询字符串,只需重写URI(page->page.php),查询字符串将自动追加: RewriteRule ^/?page$ page.php [L] 我将包含一个R指令来显式触发重定向,并包含QSA来简单地在重定

我想改写以下地址:

致:

我尝试了以下代码,但对我无效。我想问题出在问号上:

RewriteRule ^page?att=([A-Za-z0-9-_]+)/?$ page.php?att=$1 [L]

您无法在
RwriteRule
中匹配查询字符串,但在这种情况下,您根本没有重写查询字符串,只需重写URI(
page
->
page.php
),查询字符串将自动追加:

RewriteRule ^/?page$ page.php [L]

我将包含一个R指令来显式触发重定向,并包含QSA来简单地在重定向URL中保留整个查询字符串

最后,根据上下文,URI可能以斜杠开头。如果是这样,您的规则(要求URI不以斜杠开头)将永远不匹配。添加/?开始时,将匹配带前导斜杠和不带前导斜杠的URI

RewriteRule ^/?page/?$ page.php [R,QSA,L]
试试看