2014-10-31 78 views
0

我一直在试图解决这个问题。Nginx重写了一个包含两个变量的URL

这是我的设置

/www/index.php 
/www/page.php 

我想在一些搜索引擎优化的URL:

/www/page.php?pageId=45&catId=34 

我NGINX改写为

location/{ 
rewrite ^/([A-Za-z]+)/([A-Za-z]+)$ /page.php?pageId=$1&catId=$2; 
} 

但是如果尝试的URL,site.com/1/23 - 触发一个404.有人可以帮忙吗?我还可以重定向到的情况下,有人说,曾经的网址试图page.php文件直接..

+0

您的正则表达式不匹配数字。 – 2014-11-01 14:01:08

回答

1

正则表达式A-Za-z只匹配字母大写和小写。对于人数太多匹配,你应该使用上述正则表达式添加0-9,即

rewrite ^/([A-Za-z0-9]+)/([A-Za-z0-9]+)$ /page.php?pageId=$1&catId=$2; 

用于演示和说明,请单击this regex101 page