问题标签 [request-uri]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
407 浏览

laravel - Nginx,带有斜杠的 url 和查询字符串中断路径解析,用于 query_string 和 request_uri

我正在开发一个通过 Nginx 托管的 Laravel 应用程序,该应用程序正在替换在 Apache 2.2 上运行的旧系统。

新系统必须支持旧系统当前支持的所有url。

大多数网址都是这样的,并且工作正常:

https://somesite.com/some/path?someProp=1

但是,某些 url 有一个尾随反斜杠和一个查询字符串,如下所示:

https://somesite.com/some/path/?someProp=1

(虽然这样的链接肯定是不好的做法,但应用程序必须支持它们才能与其他相关系统向后兼容)。


在我的应用程序中,我发现当 url 有一个尾随反斜杠和一个查询字符串时,查询字符串和路径会在某处被破坏,例如,给定以下代码:


对于没有斜杠的网址,我得到:

$uri === https://somesite.com/some/path?someProp=1

$query === someProp=1


但是对于带有斜杠的网址,我得到:

$uri === https://somesite.com/some/path//1

$query === ''

当 url 可能包含尾部反斜杠和查询字符串时,如何配置 Nginx 以正确设置 $request_uri 和 $query_string 值?

Nginx 服务器配置:

php-fpm.conf

fastcgi_params:

0 投票
0 回答
58 浏览

php - SET COOKIE PHP 使用 REQUEST_URI 然后输出而不刷新页面

我希望你明亮的火花可以帮助我。我有一个简单的 PHP 脚本,如果他们访问的 URL 包含某个查询字符串,它将根据事实输出不同的电话号码。这使我可以在使用 Adwords 时更轻松地跟踪电话。

因此,我们的想法是,如果他们访问该站点并且 url 中有一个查询字符串 xyz,它会设置一个带有 expire 的 cookie 值,并在此期间显示一个不同的电话号码。问题是在第一页加载时 php 没有读取 cookie 值。

当一个人访问example.com/?dynamic=keyword&abc=xyz它时,它会存储一个 cookie,并且页面应该读取替代数字。

这是我在<head>

这是我在<body>

上面的代码有效,但值仅在页面刷新后在页面上更新。有没有办法做到这一点而不必使用 JavaScript?

0 投票
1 回答
127 浏览

java - 使用 mockito 获取 req.getRequestURI() 时出现异常

我在模拟 requestURI() 时遇到问题。在这个问题上的任何帮助都将是有益的,我正在尝试使用下面的 mockito 来模拟

我试过了

异常 - 我得到 java.lang.NullPointerException

0 投票
1 回答
554 浏览

nginx - Nginx - 如果 $request_uri 存在 proxy_pass 一个 url,否则另一个 url

我想处理 2 种情况:test.example.comtest.example.com/ABC.

  1. 如果输入的 url 是基域(test.example.com),我想要proxy_pass一个给定的端点(比如说example.com/home)。

  2. 如果给出,test.example.com/ABC我想proxy_passexample.com/confirm/ABC

我做了(1)这样的工作:

但我不知道怎么说“如果 $request_uri 存在,proxy_pass 到不同的端点”。我试过了:

我怎样才能做到这一点?

0 投票
1 回答
367 浏览

apache - Apache 指令不使用 IF 条件重定向 REQUEST_URI

如果在 REQUEST_URI 中包含“/login”字符串,则 Apache 指令成功地将 Web 应用程序 URL 重定向到帮助页面。这适用于如下的单个指令。

但是,如果“REQUEST_URI”包含字符串,我不想重定向到帮助页面login?next=/scm

我修改/添加了如下指令,但它没有按预期工作。

0 投票
2 回答
90 浏览

php - 会话中的 $_SERVER['REQUEST_URI'] 保存最新的丢失文件而不是页面 URI

我正面临一种非常奇怪的行为,希望得到您的帮助以及解决方案或解释。

我确实在页面上使用了一个非常简单的代码:

在同一页面上,我确实加载了一个当前缺少的图标。因此,在浏览器的控制台上,我收到以下错误消息:

这可以。但是,奇怪的行为是,我的变量$_SESSION['url_before_login']没有$_SERVER['REQUEST_URI']我的页面,而是$_SERVER['REQUEST_URI']丢失的文件。当我输出时,$_SESSION['url_before_login']我得到/assets/favicon/apple-touch-icon.png而不是/folder/sub-folder/. 如果没有加载错误并且没有丢失文件,则会$_SESSION['url_before_login']向我显示正确的 URI。

有谁知道这种行为并且有一个解决方案如何解决这个问题(除了确保没有丢失的文件;-))。

0 投票
0 回答
26 浏览

nginx - NGINX:用静态值替换随机查询值

我知道我的问题已经被回答过一次,但似乎我再也找不到它了。对此我深表歉意:)

有没有办法可以用静态值替换 $request_uri 返回的非字母数字字符?我的网址如下所示:

mydomaine.com/videos/1122/master.m3u8?Device-ID=123456&Session-ID=7890123& api_key=5bc06b7a6 &Codec=h264&AudioCodec=mp3

api_key=5bc06b7a6 是一个随机的非字母数字值,每次请求 URL 时都会更改。

如何用静态值替换 api_key 的这个值?例如 api_key=abc123def456

0 投票
0 回答
13 浏览

mod-rewrite - Oracle apache 从重定向中排除特定 uri

我正在使用 Oracle apache,每当有应用程序维护活动时,我都会将应用程序指向维护页面,以便在此期间尝试访问应用程序的用户会看到维护页面。有多个应用程序,我想显示除特定应用程序/url 之外的所有应用程序的维护页面。我试图从重定向中排除该特定 URI,但是有问题。我检查了类似的线程讨论,但无法弄清楚它的工作语法。下面是代码。

我在下面添加以排除 REIM 应用程序的 URI,但它似乎无法正常工作,因为它被重定向到维护页面。

我尝试了不同的选项,例如 !ReimViewController/* !^/ReimViewController/* !^/ReimViewController/faces/Home$ 甚至完整的 URL,但似乎不起作用。

我也尝试了下面的重写(在代码上面有评论),我确实观察到它在几天前工作但它没有工作,因为它因 err_too_many_redirects 失败

任何修复它的指针表示赞赏。谢谢。

0 投票
1 回答
53 浏览

dynamic - 如何在 ModSecurity 中 REQUEST_URI ARGS 或动态参数

示例 url /outlet/?filter_cor=linho,metalizado,caramelo,bordo,listrad

我想知道是否可以在 modSecurity 中制定一条规则,如果更改名称,参数“linho,metalizado,caramelo,bordo,listrad”在哪里,他接受相同的规则

解决了

SecRule REQUEST_URI "@contains outlet/?filter_cor" "id:1,phase:1,deny,status:409,msg:'Denied'"

0 投票
1 回答
36 浏览

php - REQUEST_URI if 语句认为 /test.php 不是 test.php

我目前正在检查我的 PHP 脚本以查看当前 URL 是否不是 test.php。如果不是,则重定向。如果是,请重定向。但是,我遇到了一个问题。它认为 test.php 不是 test.php。我在这里查看了一些东西,包括其他网站,但我找不到很多相同问题的问题。如果我错过了什么,请随时指出我的方向。这是我的代码:

谢谢!