2011-06-24 71 views
0

我想我已經閱讀了數百萬篇文章以及所有人的代碼,但我無法完成它的工作!我嘗試的每個代碼都有效,但它顯示的是重定向url而不是虛擬的。Htaccess重寫虛擬目錄打破所有鏈接

我想mysite.com/company/client/實際顯示來自mysite.com/company/client.php的結果,但除非我建立絕對鏈接,否則client.php中的文件會被破壞。

例如mysite.com/company/css/style.css從http://mysite/company/client/觀看時被打破,但要真正的文件mysite.com/company/client.php

我希望有人時,工作正常知道如何解決這個問題,而不必改變client.php中的所有鏈接爲絕對!

謝謝!

斯科特

+1

請提供您的.htaccess文件的一些代碼。向我們展示鏈接正在打開的實際頁面上的一些代碼。 –

回答

1

你可能要考慮的HTML基礎標籤:

... 
<head> 
... 
<base href="http://mysite/company" /> 
... 
</head> 
... 

你把這個在client.php文件,那麼任何相對鏈接&引用會自動「轉換」成絕對一,從正確的文件夾開始。


請參閱有關BASE標記可能出現的問題的評論。 另一種方法是通過向RewriteRule添加「[R]」來執行重定向而不是重寫。但是,您的用戶將在URL中看到「client.php」。

+0

強烈建議不要使用''標籤,如果其他選項可用,由於它引入的警告。例如,''標籤將打破所有指向錨點的超鏈接('')。由於他的行爲是由於重寫規則而導致的,因此可以通過.htaccess文件解決它。 **編輯**:這個問題實際上有一些關於''標籤問題的好信息:http://stackoverflow.com/questions/1889076/is-it-recommended-to-use-the-base-html-tag –

+0

基地的確看起來不錯!它似乎修復了一切!非常感謝您的答覆。是的,我希望可以有一個解決方案可以在100%的時間內運行,現在我將使用base。 – scott

+0

啊你是對的;它仍然是打破這樣的事情...... :( – scott