2011-10-11 25 views
-1

我創建了一個簡單的htaccess規則重寫/職位/ 24的index.php?工作= 23htaccess的規則斷裂的CSS/JS

但出於某種原因,這似乎打破我的整個網站,沒有我css規則或js文件已經被應用了。

什麼會導致此問題?

我看着周圍很多,嘗試一些不同的解決方案,但似乎沒有任何工作

+0

你能請張貼代碼。 – slebetman

+0

你介意給我們提供你正在使用的確切重寫規則嗎? – Niko

+0

我不好,對不起,這是我用 重寫規則 選項+的FollowSymLinks RewriteEngine敘述 規則^工作/([^ /] +)的index.php?工作= $ 1 [NC] –

回答

0

最有可能你的文件無法再找到,因爲一切都被改寫。您可以爲需要的文件添加例外,或排除整個目錄。

要排除整個目錄剛創建以下.htaccess文件夾:

rewriteEngine off 

排除某些路徑,把這個原來的.htaccess以上:

RewriteRule ^(dir1¦dir2¦dir3) - [L] 

您可以測試這個使用Firebug例如,淨選項卡顯示任何無法加載的文件。

+0

我想這兩個選項,但沒有人似乎爲我工作 –

0

重寫規則也適用於CSS和JavaScript網址。看看這些,看看它們是否符合你的重寫規則中的模式。如果他們這樣做,使用重寫條件排除它們。 See the documentation for details.

1

您的重寫規則沒有任何問題。可能你只是簡單地解決你的css/js文件不正確。

讓我試着澄清我的意思與一個例子。假設你的目錄結構如下:

- index.php 
- .htaccess 
- js/ 
    - default.js 

現在你包括在你的index.php JS文件

<script type="text/javascript" src="js/default.js"></script> 

如果您直接撥打電話的index.php這是可行的 - 但是如果你打電話jobs/24和重寫那index.php,它不會。重寫不是重定向!客戶端不知道它,仍然認爲請求的文件在jobs目錄中。這意味着瀏覽器會在以下地方default.js:/jobs/js/default.js

您可以使用絕對pathes的避免這樣的問題:

<script type="text/javascript" src="/js/default.js"></script> 
+0

這並沒有多大幫助。 此外,我發現使用完整的網址的文件幫助 –