2009-12-23 173 views
1

我有一個URL重寫,看起來像這樣:URL重寫阿帕奇查找文件

RewriteEngine On 
RewriteRule ^cancun/tours/$ location-tours-listings.php?locationName=Cancun 
RewriteRule ^cancun/tours$ location-tours-listings.php?locationName=Cancun 

問題是,現在的頁面無法找到相對URL的,如CSS,圖片等

有沒有辦法解決這個與.htaccess文件中的命令?所以當有人去/坎昆/旅遊/阿帕奇知道它應該看起來相對於location-tours-listings.php文件,而不是其他目錄?

或者是進入文件的唯一選擇,它將重定向到並對所有這些文件進行硬編碼?

回答

1

如果你想通過.htaccess修復它,你可以301重定向的根文件夾添加到.htaccess文件爲每個單獨的網站,在這個例子中:

Options +FollowSymLinks 
RewriteEngine on 
RewriteCond %{HTTP_HOST} ^example\.com [NC] 
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301] 

如果你喜歡上解決這個瀏覽器端,您可以使用<base>標籤在HTML的<head>部分如下面的例子:

<head> 
    <title>Page Title</title> 
    <base href="http://www.example.com" /> 
</head> 
+0

感謝,從來不知道基本可以做這樣的事情,所以我總是忽略它。謝謝 – krx 2009-12-23 16:34:22

+0

@krio:您可能需要查看這篇文章中關於''標籤的一些提示:http://www.drostdesigns.com/base-href-tag/ – 2009-12-23 16:36:31

+0

感謝您的幫助!你有任何資源來處理Apache重寫中的空間嗎? – krx 2009-12-23 17:38:50