2014-10-31 75 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