NGINX 基于用户的网站目录和正则表达式

NGINX 基于用户的网站目录和正则表达式

我想利用别名函数在 NGINX 中完成一些简单的事情。过去 3 天,我一直在互联网上搜索,但只找到糟糕或过时的示例,希望有人能发布一个基于较新版本的 NGINX 的有效示例。

我有以下网址:

http://mysite.com/用户名_123

我的问题是如何让 NGINX 将此请求转发到内部用户文件夹:

html/配置文件/用户名_123

...并返回其index.php页面?

请记住,此 index.php 页面已传递到监听 127.0.0.1:9000 的 php FastCGI 服务器

答案1

有趣的是,我在寻找有关 Apache 样式别名或脚本别名的有用信息时也遇到了同样的问题。我最终写博客另一天。

这是用 nginx 版本 1.0.5 测试的,但是也应该适用于 0.85。

server {
    listen 80;
    server_name localhost;
    index index.html index.php;
    root /var/www;
    location ~ ^/username_123(.*)\.php($|/) {
        include php_fastcgi_params;
        fastcgi_param SCRIPT_FILENAME /var/www/html/profiles/username_123$1.php;
    }
    location ~ ^/username_123(.*) {
        autoindex on;
        alias /var/www/html/profiles/username_123$1;
    }
}

相关内容