【问题标题】:Routing with nginx explained?用nginx路由解释?
【发布时间】:2014-01-11 19:17:00
【问题描述】:

例如,如果我有一个 PHP 脚本 user.php 允许我访问用户的个人资料页面,我如何让 /qw3rtmanuser.php?user=qw3rtman? 加载数据

我想要一个清晰的解释,以及将什么放入我的 Nginx 配置文件(以及哪个)。

【问题讨论】:

    标签: php rest nginx url-rewriting


    【解决方案1】:

    首先,我通常不喜欢这样做,因为通常所有 404 都会无条件地首先路由到 user.php,例如 /contact/home 如果它们实际上不存在,我通常更喜欢像/user(s)/qw3rtman 这样的东西,因为我知道他正在尝试访问用户。

    无论如何,对于你想要的尝试这样的东西,(假设你没有默认的/index.php 入口点。)

    location / {
      try_files $uri $uri/ /user.php?user=$arg_user&query_string;
    }
    

    【讨论】:

    • 我会在哪个文件中插入这个文件?
    • 您是否为您的服务器创建了虚拟主机?如果您使用的是 linux 服务器,那么它的发行版是什么?
    • 我没有听说过虚拟主机,所以我假设我没有。我在 CentOS 6.5 Minimal 上运行。
    【解决方案2】:
    location ~ \.php$ {
        rewrite ^/(.*)$ /user.php?user=$1 last;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        include        fastcgi_params;
    }
    

    我对 nginx 不是很熟悉,希望这个 conf 可以工作:)

    您可以通过herehere 了解更多信息

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-26
      • 2017-04-17
      • 1970-01-01
      • 2015-03-26
      • 1970-01-01
      • 2014-08-11
      • 1970-01-01
      • 2019-11-14
      相关资源
      最近更新 更多