微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

apache – 从htaccess重写代码到nginx配置?

我有从htaccess文件Nginx配置实现我的重写代码的问题.
我已经尝试过生成器:http://winginx.com/htaccess用于生成我的重写
码.

我的Nginx配置代码

server {
        listen 80;
        server_name example.com;
        return 301 $scheme://www.example.com$request_uri;       
}

server {
        listen 80;
        root /usr/share/Nginx/www;
        index index.PHP;
        server_name www.example.com;
        error_page 404 http://www.example.com/404.PHP;
        autoindex off;
        error_log  /usr/share/Nginx/www/Nginx_error.log  warn;

   location / {
        rewrite ^([^\.]*)$/$1.PHP;
    }

    location = / {
        rewrite ^ /index.PHP;
    }

    location ~ \.PHP${
        include fastcgi_params;
        fastcgi_pass unix:/var/run/PHP5-fpm.sock;
    }

}

我想从我的.htaccess中实现这个:

RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-/_]+)$admin/index.PHP?hotelname=$1&do=$2 [QSA]
RewriteRule ^(([A-Za-z0-9-/]+)+)$admin/index.PHP?hotelname=$1 [L]

从工具生成代码

location / {
  rewrite ^/([A-Za-z0-9-]+)/([A-Za-z0-9-/_]+)$/admin/index.PHP?hotelname=$1&do=$2;
  rewrite ^/(([A-Za-z0-9-/]+)+)$/admin/index.PHP?hotelname=$1 break;
}

我已经尝试将最后一行代码实现到我的位置块,但根本不工作..
一个意见我都会非常致命!
问候
Makromat

解决方法:

盲目的转换将是

rewrite ^([A-Za-z0-9-]+)/([A-Za-z0-9-/_]+)$admin/index.PHP?hotelname=$1&do=$2&$query_string last;
rewrite ^(([A-Za-z0-9-/]+)+)$admin/index.PHP?hotelname=$1 last;

但我更愿意,如果我更多地理解这个问题,可以产生更优化的重写.

我什么时候知道URL是否应该传递给/ admin,给我一个后端和前端的实际URI.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐