2009-05-21 112 views
1

我是新來的這個mod_rewrite。 我已經能夠成功地重寫URL是這樣的: http://mydomain.com/products/12這樣:http://mydomain.com/products.php?prodId=12mod_rewrite需要的URL信息

但是,當我給http://mydomain.com/products/12在地址欄,CSS和JS文件沒有加載。

但是,當我訪問http://mydomain.com/products.php?prodId=12 js和css得到正確加載。請讓我知道如果我失去了一些東西。

我的.htaccess看起來是這樣的:

Options +FollowSymlinks 
RewriteEngine on 
RewriteRule ^products/([0-9][0-9])/$ /products.php?prodId=$1 [L] 

我的CSS和JS文件夾也都在同一個文件夾。

回答

3

你必須使用你的腳本/ css文件相鏈接,就像這樣:

<script src="my.js"></script> 

這適用於原來的網址,但在新的話,會看在「產品」目錄,該目錄當然不存在。你可以使用絕對路徑,而不是:

<script src="/my.js"></script> 
5

你需要知道,相對URI(因此絕對和相對URI路徑太)從基本URI是解決 - 如果沒有明確聲明 - 當前文檔的URI 。

因此,如果您使用相關URI foo/bar引用來自/products/12的外部資源,它會解析爲/products/foo/bar

若要解決此問題,請使用絕對URI路徑(從/開始)或絕對URI(以協議開頭)或顯式設置除當前(請參閱BASE HTML element)以外的基本URI。但請注意,更改基本URI有一些副作用,因爲它會影響每個相對URI。