1. 程式人生 > >nginx偽靜態的問題

nginx偽靜態的問題

我的網站有兩種語言,中文+英文 如果用pathinfo訪問的話應該是這樣

在apache中我已經實現了,規則如下:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^cn/(.*)$ index.php/$1 [L]
RewriteRule ^en/(.*)$ en.php/$1 [L]
</IfModule>

但是在nginx中我試兩種方法,如 方法1.

if (!-f $request_filename){
set $rule_0 1$rule_0;
}
if (!-d $request_filename){
set $rule_0 2$rule_0;
}
if ($rule_0 = "21"){
rewrite ^/cn/(.*)$ /index.php/$1 last;
}
rewrite ^/en/(.*)$ /en.php/$1 last;

方法2.

location /cn/ {
    if (!-e $request_filename){
        rewrite ^/cn/(.*)$ /index.php/$1 last;
    }
}
location /en/ {
    if (!-e $request_filename){
        rewrite ^/en/(.*)$ /en.php/$1 last;
    }
}