2015-10-21 18 views
1

我有以下問題:的.htaccess折磨URL,但不是本地數據,而不RewriteEngine敘述

如果我在example.com/foo/bar頁面打開我的網站的每個樣式表加載這樣的: 來源:

<link href="css/style.css" rel="stylesheet" type="text/css"> 

但我的服務器負載文件,如:foo/css/style.css


現在我想改變我的.htaccessRewriteEngine,這並不HAPP 然而不要想要使用RewriteRule,它可以防止/css/更改URL

.htaccess

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 

RewriteRule ^(.*)$ index.php?urlparam=$1 [NC,L] 

在此先感謝;)

回答

0

您在css,js,images文件中使用相對路徑而不是絕對路徑。

您可以添加此僅低於你的網頁的HTML的<head>部分:

<base href="/" /> 

讓每一位相對URL是從基本URL從當前頁面的URL解決,而不是。

+1

謝謝,這真是有幫助 –

0

當您導航到example.com/foo/bar它被解釋爲目錄中/foo資源bar。您的標記包含css/style.css,並且由於它不包含前導/,這表示css文件夾相對於當前路徑(即/foo)。所以這就是你看到這種行爲的原因。

您的重寫規則與正在發生的事情無關。如果您導航到example.com/foo/bar/(尾隨/),那麼它會請求example.com/foo/bar/css/style.css

+0

是否有可能停止腳本的行爲? –

+0

你可以使用絕對路徑到你的CSS文件而不是相對的。 –

+0

這對我來說是不可能的。 –

相關問題