【问题标题】:Nginx sub dir rewrite ruleNginx 子目录重写规则
【发布时间】:2012-10-19 10:53:10
【问题描述】:

我在尝试美化某些网址时遇到 Nginx 重写规则问题,例如

http://subdomain.mywebsite.com:1234/someuser/temp/min/?g=home&v=049075caf8fc8193892c286889040861a8148de3

在哪里,

g = <some js file> and 
v = <version of file>

类似于,

http://subdomain.mywebsite.com:1234/someuser/temp/min/049075caf8fc8193892c286889040861a8148de3/home.js

我的虚拟主机文件(/etc/nginx/sites-available 中的 subdomain.mywebsite.com)的条目为,

rewrite ^/someuser/temp/min/([^/]*)/home.js$ /someuser/temp/min/?g=home&v=$1 last;

请帮忙。

【问题讨论】:

    标签: url-rewriting nginx


    【解决方案1】:

    您可以添加以下重写规则来获取/049075caf8fc8193892c286889040861a8148de3/home.js,就像您使用/?g=home&amp;v=049075caf8fc8193892c286889040861a8148de3一样

    rewrite ^/someuser/temp/min/(.*)/(.*\.js)$ /someuser/temp/min/?g=$2&v=$1 last;
    

    【讨论】:

    • 这似乎不起作用。 1234端口有什么特别的吗?
    • 嗯,可能是端口问题。当你在 80 端口上运行它时,你能测试它是否有效吗?
    • 好吧,我终于搞定了。 @jagsier 感谢您的帮助。
    【解决方案2】:

    解决了。

    rewrite ^/someuser/temp/min/([^/]+)/(.*).js$ /someuser/temp/min/?g=$2&v=$1 last;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-11
      • 2014-07-14
      • 2011-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多