2012-12-24 15 views
0

這是我的重寫規則:的.htaccess重寫將不會加載CSS中有幾次

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteCond %{REQUEST_URI} !/$ 
#RewriteRule (.*)/?$ $1\.php [L] 
RewriteRule profile/ profile.php 
RewriteRule profile profile.php 

我在這個有點新,但是當我去到localhost/profile文件,一切都加載罰款,但是當我去本地主機/配置文件/實際的頁面加載,但CSS不加載,我得手動將其更改爲/style.css加載,有沒有人知道我怎麼可以做到這一點,而/結束可選(不必把我的整個域或絕對路徑)?謝謝。

+0

你得給你的css的原始路徑 – ravi404

+1

¿你想要加載什麼,style.css或profile.php?規則集表明是最後一個,我想那個人又稱第一個,但我只是在猜測。很難理解什麼時候''...一切正常加載......「' –

+0

@FelipeAlamedaA沒有外部文件將加載,如style.css或任何圖像,因爲它認爲它是一個新的目錄,當我做本地主機/配置文件/,但它在localhost/profile上完美工作,我只是不想將所有內容更改爲/style.css而不是style.css,它可能會變得很混亂,所以我只想得到一個新的重寫規則在沒有創建「新目錄」的情況下工作 – SuperBeast

回答

1

你可以試試這個 <? echo '<link rel="stylesheet" type="text/css" href="'."http://".$_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI']."../style.css".'" />' ?>

但是,這不是最好的解決辦法。你可以做的是你可以定義一個全局變量用來給出絕對路徑。即

<?php 
//at the beginning of your page 
define('LINK',"http://localhost/"); 

//for your css href 
echo LINK."style.css"; 

注意:路徑是假設,因爲我不知道你的文件夾結構。

+0

我嘗試過,在每個文件中手動更改了所有鏈接,並且讓事情變得更糟,當我到/ profile /時,它加載得很好,只是在側欄上,這應該首先放到/ profile /中,它是/ profile/profile /,太混亂了,我不會使用/ profile/url,只是/ profile,我希望有一個更簡單的方法來完成這一切,只需通過mod_rewrite – SuperBeast

+0

@ user1925957我用mod_rewrite開發了項目,並且使用了絕對路徑。爲我準備好時間。 – ravi404