我創建了一個簡單的htaccess規則重寫/職位/ 24的index.php?工作= 23htaccess的規則斷裂的CSS/JS
但出於某種原因,這似乎打破我的整個網站,沒有我css規則或js文件已經被應用了。
什麼會導致此問題?
我看着周圍很多,嘗試一些不同的解決方案,但似乎沒有任何工作
我創建了一個簡單的htaccess規則重寫/職位/ 24的index.php?工作= 23htaccess的規則斷裂的CSS/JS
但出於某種原因,這似乎打破我的整個網站,沒有我css規則或js文件已經被應用了。
什麼會導致此問題?
我看着周圍很多,嘗試一些不同的解決方案,但似乎沒有任何工作
最有可能你的文件無法再找到,因爲一切都被改寫。您可以爲需要的文件添加例外,或排除整個目錄。
要排除整個目錄剛創建以下.htaccess
文件夾:
rewriteEngine off
排除某些路徑,把這個原來的.htaccess
以上:
RewriteRule ^(dir1¦dir2¦dir3) - [L]
您可以測試這個使用Firebug例如,淨選項卡顯示任何無法加載的文件。
我想這兩個選項,但沒有人似乎爲我工作 –
重寫規則也適用於CSS和JavaScript網址。看看這些,看看它們是否符合你的重寫規則中的模式。如果他們這樣做,使用重寫條件排除它們。 See the documentation for details.
您的重寫規則沒有任何問題。可能你只是簡單地解決你的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>
這並沒有多大幫助。 此外,我發現使用完整的網址的文件幫助 –
你能請張貼代碼。 – slebetman
你介意給我們提供你正在使用的確切重寫規則嗎? – Niko
我不好,對不起,這是我用 重寫規則 選項+的FollowSymLinks RewriteEngine敘述 規則^工作/([^ /] +)的index.php?工作= $ 1 [NC] –