2012-10-18 255 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