【问题标题】:Nginx Rewrite rules + CSS & JSNginx 重写规则 + CSS & JS
【发布时间】:2012-10-08 19:24:09
【问题描述】:

我正在使用 Nginx 和一些重写规则,主要用于漂亮的 url。这是我的重写规则:

rewrite ^/([a-zA-Z0-9]+)?$                /index.php?module=$1 last;
rewrite ^/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)?$ /index.php?module=$1&pid=$2 last;

重写规则有效,但它们也影响了我的 .css 和 .js 文件。我的 .css 和 .js 文件位于我的网络服务器根目录中名为 /inc/static 的文件夹中。

示例: http://example.com/signup/member

现在我的 .css 和 .js 文件的路径也更改为 /signup/inc/static。

我可以为 .css 和 .js 文件使用静态子域,这可能会解决我的问题,但我也使用带有证书的 https,因此如果我包含来自 https://static.example.com/js/jquery.js 的文件,我会收到警告,因为证书不会被签名。

有什么办法可以解决这个问题吗?

干杯!

【问题讨论】:

  • 嗨,戴夫,我知道你是在一年前发布的,但由于这个问题仍未解决,请问你是否找到了解决此问题的方法?在此先感谢格雷格。

标签: url-rewriting nginx webserver


【解决方案1】:

我猜你在请求 CSS/JS 文件时使用的是相对地址,例如:

<script src="inc/static/myscript.js" />

您需要使用绝对地址,即使用前面的斜线:

<script src="/inc/static/myscript.js" />

【讨论】:

  • 我在玩 nginx 并发现了类似的问题,当然绝对路径并不能解决问题。你有什么想法如何形成重写规则以允许 CSS/JS 文件通过?
猜你喜欢
  • 2010-11-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-04
  • 2013-08-05
  • 2013-10-12
相关资源
最近更新 更多