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

如何将 domain/first/second/ 之后的前 2 个字符串子目录作为 lang 和 page 参数传递到 nginx 中的 domain/index.php 文件css、js 文件除外

如何解决如何将 domain/first/second/ 之后的前 2 个字符串子目录作为 lang 和 page 参数传递到 nginx 中的 domain/index.php 文件css、js 文件除外

    server {
        server_name domain.com www.domain.com;
        root /home/username/www/domain.com/public/;
        access_log /home/username/www/domain.com/public/access.log;
        error_log /home/username/www/domain.com/public/errorr.log;
        index index.html index.htm index.PHP;

    location ~ \.css {
        add_header  Content-Type    text/css;
    }
    location ~ \.js {
        add_header  Content-Type    application/x-javascript;
    }

    rewrite ^/(.*)/$ /index.PHP?lang=$1&page=$2 last;

    location / {
        try_files $uri $uri/ =404;
    }
    location ~ \.PHP$ {
        include snippets/fastcgi-PHP.conf;
        fastcgi_pass unix:/var/run/PHP/PHP7.4-fpm.sock;
     }

    listen 443 ssl; # managed by Certbot
    include /etc/letsencrypt/options-ssl-Nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

    ssl_certificate /etc/letsencrypt/live/domain.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/domain.com/privkey.pem; # managed by Certbot
}

server {
    if ($host = www.domain.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    if ($host = domain.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


        listen 80;

        server_name domain.com www.domain.com;
    return 404; # managed by Certbot
}

我想要做的是将域/第一个/第二个目录作为参数以 domain/index.PHP?lang=first&page=second 格式传递

一个 $1 运行良好。 但是在 $ 之前添加 (.*)/ 之后,我打开了一个结构类似于 domain/en/page1 的页面 页面加载但是css,js加载不正确。

如何在重写时抛出异常?

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