2015-12-19 170 views
1

我在.htaccess文件中的這些重寫規則:JavaScript文件路徑

RewriteEngine On 

RewriteRule ^product_info/([0-9a-zA-Z]+)/([0-9a-zA-Z_-]+)$ /product_info.php?item_id=$1&item_name=$2 [L,NC] 
RewriteRule ^product_info/ - [L,NC] 


RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteRule ^(.*?)/?$ $1.php [L] 

一切工作正常,直到重寫URL。 CSS,JS,圖片無法載入了,所以我加入/在最開始改變URL路徑:

<link href = "/Style/style.css" rel = "stylesheet" type = "text/css" /> 
<script src="/js/jquery-1.11.2.min.js"></script> 
<script src="/js/navigation.js"></script> 
<script src='/js/jquery-1.8.3.min.js'></script> 
<script src='/js/jquery.elevatezoom.js'></script> <----- NOT WOKRKING 

這固定我的問題。但由於某種原因jquery.elevatezoom.js仍然無法正常工作,但其他一切都很好。

我在這個頁面上,使用jquery.elevatezoom.js

/product_info.php?item_id=451&item_name=Bicycle

URL重寫後 - >/product_info/451/Bicycle

product_info.php

的js變焦使用率:

<script> 
    $("#product_pix").elevateZoom(); 
</script> 

即使是絕對路徑沒有解決問題。

如何解決這個問題?

+0

404沒有發現,當我跑的片段 –

回答

1

你的問題是,你的相對URI有他們的基礎改變。最初,當頁面爲/product_info.php時,基數爲/,並且瀏覽器正確填充與/基數的相對鏈接。但是當瀏覽器轉到/product_info/foo/bar這樣的頁面時,基地突然變爲/product_info/foo/bar,它會嘗試在所有相對URL前追加,因此它們都不會加載。

你可以讓你的鏈接是絕對的,或在您的網頁的標題(插圖中的<head> </head>標籤)更改URI基地:

<base href="/"> 
+1

<基本href =」 /「>解決了問題!謝謝 :) –