gpt4 book ai didi

php - 删除前导斜线 NGINX

转载 作者:可可西里 更新时间:2023-10-31 23:38:15 26 4
gpt4 key购买 nike

我的 URL 中有一个双斜杠(这不太理想)。

所以我的应用在 //signup 处被命中。

错误信息:

Uncaught PHP Exception Symfony\Component\HttpKernel\Exception\NotFoundHttpException: "No route found for "GET //signin""

是否可以将其更改为仅/signup

我在第一个位置 block (这是捕获代理的那个)中尝试了以下内容。

也许是...

location /apps/phpauthentication/1 {      
rewrite ^\//(.*)/$ /$1 break;
try_files $uri /app_dev.php$is_args$args;
if (!-e $request_filename) {
rewrite ^/(.*)$ /app_dev.php last;
}
}

完整配置:

server {
listen 80;
server_name localhost;

root /srv/http/web;
index app_dev.php index.php index.html;

location /apps/phpauthentication/1 {
rewrite ^\//(.*)/$ /$uri permanent;
try_files $uri /app_dev.php$is_args$args;
if (!-e $request_filename) {
rewrite ^/(.*)$ /app_dev.php last;
}
}

location ~ ^/(app_dev|config)\.php(/|$) {
fastcgi_pass app:9000;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
fastcgi_param APP_ENV dev;
include fastcgi_params;
}

location ~ \.php$ {
fastcgi_pass app:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param APP_ENV dev;
include fastcgi_params;
}
}

谢谢:)

最佳答案

在处理以下内容时,我成功地在后端更改了 URI。

     location /apps/phpauthentication/1 {
rewrite ^(.*)//(.*)$ /$1/$2 permanent; ##First matches double slash and rewrites
try_files $uri /app_dev.php$is_args$args; ##URI is now /apps/1/signup
if (!-e $request_filename) {
rewrite ^/(.*)$ /app_dev.php last; ## Matches all request that pass from above
}

现在浏览器中的 URL 永远不会改变,但后端服务器现在似乎有一个有效路径。

关于php - 删除前导斜线 NGINX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34813456/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com