我在Nginx或Apache中对此地址进行了重写:
http://domain.com/hello
像这样的脚本
http://domain.com/test.php&ref=hell
如何在PHP中访问此重写的URL?因为,如果我$_SERVER['REQUEST_URI']当然使用,我会得到:
$_SERVER['REQUEST_URI']
/test.php&ref=hell
但我只想要:
/hello
这可能吗?感谢您的帮助。
更新nginx cnf
proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; server { listen 80; server_name domain.test; location / { rewrite ^/(main|best|air)$ /core/feeds.php?act=$1 last; proxy_pass http://127.0.0.1:8080; } }
在Nginxconf中,我们需要添加用户标头request_uri:
Nginx
request_uri
proxy_set_header request_uri $request_uri;
并阅读php:
php
echo $_SERVER['HTTP_REQUEST_URI'];
更新
由于某些原因,nginx不喜欢标题名称中的符号“ _”,之前不知道它的工作方式,也许在nginx更新后有所更改。现在我正在使用
proxy_set_header rewriteduri $request_uri;
和在PHP
$_SERVER['HTTP_REWRITEDURI']