2012-10-18 62 views
2

我使用Nginx和一些重写规则主要用于漂亮的URL。这里是我的重写规则:Nginx重写规则+ CSS&JS

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文件位于我的web服务器根目录中的一个名为/ inc/static的文件夹中。

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

现在的路径,我的.css和.js文件也变为/注册/ INC /静态的。

我可以用一个静态的子域的.css和.js文件,这可能会解决我的问题,但我也使用https和证书,这样我会得到一个警告,如果我从https://static.example.com/js/jquery.js例如包括文件,因为证书不会被签名。

任何想法如何我可以解决这个问题?

干杯!

+0

喜戴夫,我知道那是一年前你发布的,但是因为这仍然没有解决,我可以问你是否为这个问题找到了解决方案?在此先感谢,格雷格。 – Greg0ry

回答

0

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

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

您需要使用绝对地址,即与前述斜线:

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

我玩弄nginx,发现类似的问题,绝对路径并不能解决问题。你有什么想法如何形成重写规则,以允许通过CSS/JS文件? – Greg0ry