.htaccess的查询字符串重写(Htaccess Querystring rewrite)

2019-08-02 17:37发布

我有喜欢的网址/?test ,我想重写/page.php?page=test

我想这样的,但由于某种原因,这是行不通的。

RewriteRule ^\?([a-z0-9\-\+]{3,20})/?$ /page.php?page=$1 [NC,QSA]

我究竟做错了什么?

Answer 1:

查询字符串只能与测试RewriteCond指令 。 该RewriteRule模式只是针对测试的URL路径 (在.htaccess文件的URL路径,而不每个目录的前缀)。

所以,试试这个:

RewriteCond %{QUERY_STRING} ^[a-z0-9-+]{3,20}$ [NC]
RewriteRule ^$ /page.php?page=%0 [QSA]


文章来源: Htaccess Querystring rewrite