Apache 如何创建包含一个引用和两个参数到三个参数的重写规则

Apache 如何创建包含一个引用和两个参数到三个参数的重写规则,apache,.htaccess,mod-rewrite,url-rewriting,Apache,.htaccess,Mod Rewrite,Url Rewriting,在ad.php所在的.htaccess文件中,我想重写以下URL: http://example.com/ad/some-AlpHAnumEriC123-reference.html http://example.com/ad/some-AlpHAnumEriC123-reference.html?i=123 http://example.com/ad/some-AlpHAnumEriC123-reference.html?i=123&s=456 致: 上帝是这么难!我当前在.htac

在ad.php所在的.htaccess文件中,我想重写以下URL:

http://example.com/ad/some-AlpHAnumEriC123-reference.html
http://example.com/ad/some-AlpHAnumEriC123-reference.html?i=123
http://example.com/ad/some-AlpHAnumEriC123-reference.html?i=123&s=456
致:

上帝是这么难!我当前在.htaccess中有:

RewriteRule ^ad/([a-zA-Z0-9-]+).html/?$ ad.php?r=$1&%{QUERY_STRING} [NC,L]

…但这不起作用。有什么建议吗?

我不擅长重写规则,但请尝试以下方法:

RewriteRule ^/ad/(.*)\.html?(.*)$ ad.php?r=$1&$2 [NC,L]

谢谢,但那不是跑步。打印$\u获取;仅显示包含所有三个值的我的url的数组[i]=>123
RewriteRule ^/ad/(.*)\.html?(.*)$ ad.php?r=$1&$2 [NC,L]