我希望使用 .htaccess 转发一个 url
categoryname?page=23&sort=alpha to category.php?name=catgoryname&page=23&sort=alpha
但我无法使用 charachter 编写 rewriteRule ?
,我尝试使用\?
但总是出现一些问题它不起作用。
查询字符串必须在 中匹配RewriteCond
,而不是在RewriteRule
. 然后使用将现有查询字符串与新参数[QSA]
一起附加到重写的请求上。name=
RewriteEngine On
# If both page=, sort= *must* be present
RewriteCond %{QUERY_STRING} page=(\d+)
RewriteCond %{QUERY_STRING} sort=([a-z]+)
# Rewrite categoryname (or other string) into category.php
RewriteRule ^(.+) category.php?name=$1 [L,QSA]
仅当两者都存在时,上述规则才会匹配。如果他们不需要在场来重写,那么这两个可以省略。page=
sort=
categoryname
RewriteCond
# If the page= and sort= are not *required*, omit them.
RewriteEngine On
# Rewrite categoryname (or other string) into category.php
RewriteRule ^(.+) category.php?name=$1 [L,QSA]