Regex 两个php参数的nginx重写规则

Regex 两个php参数的nginx重写规则,regex,linux,apache,nginx,system-administration,Regex,Linux,Apache,Nginx,System Administration,你能帮我写下ngnix的重写规则吗 Actual URL : http://www.example.com/all-dog-breeds.php?Greater-Swiss-Mountain-Dog/82 expected URL : http://www.example.com/Greater-Swiss-Mountain-Dog/82 我尝试在下面重写URL,但它不起作用: rewrite ^/([A-Za-z-]+)\/([0-9]+)\/?$ /all-dog

你能帮我写下ngnix的重写规则吗

    Actual URL : http://www.example.com/all-dog-breeds.php?Greater-Swiss-Mountain-Dog/82



   expected URL : http://www.example.com/Greater-Swiss-Mountain-Dog/82
我尝试在下面重写URL,但它不起作用:

   rewrite ^/([A-Za-z-]+)\/([0-9]+)\/?$ /all-dog-breeds.php?$1/$2;

   rewrite ^/(.*)/(.*)$ /all-dog-breeds.php?$1/$2 last; 

您实际要查找的正则表达式是:

我认为应按如下方式将其转换为Apache:

rewrite ^\/[^\/]*\?(.*)$ /$1

您实际要查找的正则表达式是:

我认为应按如下方式将其转换为Apache:

rewrite ^\/[^\/]*\?(.*)$ /$1

如果您从一开始就删除
^/
,第一个应该可以使用。根据您的建议,我尝试了,但没有成功。我试过Try
^www.example\.com/([A-Za-z-])/([0-9]+)/?$
没有成功。从同时发布的答案来看,我做得不对。如果您从一开始就删除
^/
,第一个应该会起作用。根据您的建议,我尝试了,但没有成功。我试过Try
^www.example\.com/([A-Za-z-])/([0-9]+)/?$
没有成功。从同时发布的答案判断,我的做法是错误的。如果全部成功,我将感谢您单击此答案左侧的复选标记接受。如果全部成功,我将感谢您单击此答案左侧的复选标记接受。