无法在.htaccess的重写规则中获取URL的第2个参数
我在获取路线的第二个Get参数时遇到另一个问题我无法获取第二个参数这是我编写的规则:无法在.htaccess的重写规则中获取URL的第2个参数,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,我在获取路线的第二个Get参数时遇到另一个问题我无法获取第二个参数这是我编写的规则: RewriteRule ^knowledgebase/topics/([0-9]+)-([A-Za-z0-9-]+)\?page=([0-9]+)?$ topic.php?id=$1&page=$3 [NC,L] 所需的URL为 knowledgebase/topics/6457-microsoft-office-application-information?page=2 此处6457是第一个
RewriteRule ^knowledgebase/topics/([0-9]+)-([A-Za-z0-9-]+)\?page=([0-9]+)?$ topic.php?id=$1&page=$3 [NC,L]
所需的URL为
knowledgebase/topics/6457-microsoft-office-application-information?page=2
此处6457
是第一个get变量,然后是-
然后是titlemicrosoft office应用程序信息,然后是?page=
然后是我的第二个get参数,它是2
,但无法获取该页面变量
问题是正则表达式中有错误???重写url模式中不包括查询字符串。从
什么是匹配的?
如果希望匹配主机名、端口或查询字符串,请分别使用%{HTTP_HOST}、%%{SERVER_port}或%{query_string}变量的RewriteCond
您必须单独提取该部分
RewriteCond %{QUERY_STRING} page=([0-9]+)
RewriteRule ^knowledgebase/topics/([0-9]+)-[A-Za-z0-9-]+ topic.php?id=$1&page=%1 [NC,L]
谢谢你的回答,我会试试的,会让你知道的