标签: url-rewriting

Nginx 重写规则以删除路径节点

假设用户尝试使用以下网址访问我网站上的给定图像: http://www.mywebsite.com/blog/image1.jpg?someParam=100

我需要一个重写规则,从路径中删除“博客”节点:

http://www.mywebsite.com/image1.jpg?someParam=100

url-rewriting nginx

22
推荐指数
1
解决办法
6万
查看次数

Windows 7 中的 HOSTS 文件编辑无效 - Ping URL 仍显示原始 IP 地址

我在我的 Windows 7 Ultimate PC 上编辑了我的 HOSTS 文件以重新路由几个 URL,以便它们指向 127.0.0.1,但在保存文件(并重新打开以验证更改已写入)并对它们执行 ping 操作后他们仍然使用实际 IP 进行回复,而不是像应该那样重定向到 127.0.0.1。至少,这就是它在 XP、Vista 等中的工作方式。我什至通过 services.msc 在机器上重新启动了我的 DNS 服务;但没有骰子。

所以 - 我想 Windows 7 将 HOSTS 文件保留在那里用于遗留目的,实际上不再使用它了。有没有办法让W7关注HOSTS文件?如果您不能这样做,我该去哪里编辑这些 URL 指向的位置?

提前致谢!

-Sootah

dns windows-7 hosts url-rewriting

7
推荐指数
1
解决办法
1万
查看次数

在一个位置内设置一个包罗万象的地方,并回退到index.php

我正在努力处理 nginx 配置。我有一个server块,我希望所有请求都转到index.php?tags=$uri,除非$uri存在(如index.php?a=b/?a=b)。

我期望:

try_files $uri index.php?tags=$uri;
Run Code Online (Sandbox Code Playgroud)

但是,不,那太简单了。这不适用于/?a=b,显然没有找到,所以它指向index.php?tags=/

也许如果我明确包含一个index,这是合理的:

index index.php;
Run Code Online (Sandbox Code Playgroud)

没有。没有骰子。全面相同的确切结果。

也没有$args$request_uri或组合。也不是它:

try_files $request_uri/index.php $request_uri index.php?tags=$request_uri; // now I'm just guessing
Run Code Online (Sandbox Code Playgroud)

阿帕奇总是知道我的意思。为什么nginx没有?我想要这些重定向(不带redirectif):

/   => /index.php
/index.php   => /index.php
/index.php?a=b   => /index.php?a=b
/?a=b   => /index.php?a=b
/foo   => /index.php?tags=foo (or /index.php?tags=/foo)
/foo/bar   => /index.php?tags=foo/bar (or /index.php?tags=/foo/bar)
/foo?bar=yes   => /index.php?tags=/foo%3Fbar%3Dyes
Run Code Online (Sandbox Code Playgroud)

我希望在重定向时对查询字符串进行编码,而不是对路径进行编码,但实际上这并不那么重要。

(我也不明白 $uri 和 $request_uri 之间的实际区别。它们似乎一半时间都在做同样的事情。但那是另一天的事了。)

非常感谢。

url-rewriting nginx

2
推荐指数
1
解决办法
5714
查看次数

标签 统计

url-rewriting ×3

nginx ×2

dns ×1

hosts ×1

windows-7 ×1