我的网站有两种语言,中文+英文 如果用pathinfo访问的话应该是这样 中文: http://www.com/index.php/product/category/a1/ 英文: http://www.com/en.php/product/category/a2/ 程序如果开重写模式的话应该是这样 http://www.com/cn/product/category/a1/ http://www.com/en/product/category/a2/ 在apache中我已经实现了,规则如下
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^cn/(.*)$ index.php/ [L]
RewriteRule ^en/(.*)$ en.php/ [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/ last;
}
rewrite ^/en/(.*)$ /en.php/ last;
方法2.
location /cn/ {
if (!-e $request_filename){
rewrite ^/cn/(.*)$ /index.php/ last;
}
}
两种方法都不能生效,求大神给个解决的方法呀
大家讲道理2017-05-16 17:30:37
方法2你只写了一条?写下面两条应该是没问题的。
location /cn/ {
if (!-e $request_filename){
rewrite ^/cn/(.*)$ /index.php/ last;
}
}
location /en/ {
if (!-e $request_filename){
rewrite ^/en/(.*)$ /en.php/ last;
}
}