【发布时间】:2017-07-17 11:30:55
【问题描述】:
我有一个简单的重写规则,但我无法让它工作(即使这里有所有其他答案)
我希望用户打开这个网址:
www.example.com/mypage/abcd
并且 nginx 应该将其重写为:
www.example.com/myrealpage/index.html?link=abcd
所以实际上我希望我的link 参数很好地嵌入到网址中。
这是几乎有效的规则:
location /mypage {
rewrite ^/mypage/(.*)$ /myrealpage/index.html?link=$1 last;
}
它似乎适用于 index.html 文件,但现在所有脚本和 css 导入都已损坏。因为每个js/script.js 或css/style.css 都被重写为mypage/abcd/css/style.css,这显然不存在。
仅供参考:
我显然需要重写 mypage → myrealpage 因为我的服务器提供商会自动生成一个 alias 配置文件,其中已经包含一个 location /myrealpage 所以,除了重命名它以添加我自己的 @ 之外,我没有看到任何其他选项987654333@规则。
如何
我可以改变那个 url 来重写这个link 参数吗?它只是一个参数。
【问题讨论】:
标签: regex nginx url-rewriting