2011-05-19 149 views
2

我需要你的幫助,使用.htaccess的一些URL重定向 這種情況是,我有像www.website.com/index.php?chID=1234網址打開網站上的特定電視頻道。 問題是,我想使這些網址如www.website.com/channel-name/1234(其中1234是chID變量,從數據庫獲取記錄,當然沒有它會更好)。 這裏是工作鏈接 - http://www.livepage.info/world-tv-channels.php?chID=1512url重定向使用.htaccess

任何建議將不勝感激!謝謝!

回答

2

要重定向所有通道,你可以使用:

RewriteEngine On 
RewriteBase/
RewriteRule ^([^/]+/\d+)/$ http://www.livepage.info/$1 [L,R=302,QSA] 
RewriteRule ^[^/]+/(\d+)$ index.php?chID=$1 [L,QSA] 

不要忘記,你將需要一個新的HEAD標籤在你的HTML(否則圖像就會從http://www.livepage.info/euronews-russia/images/...中獲取):

<base href="http://www.livepage.info/"> 

當然,您可以改用.htaccess。這一點,但是,還不如在base href標籤好,因爲客戶不會使用緩存觀看不同頻道時,或者如果客戶端被重定向,將需要爲每個圖像等

RewriteRule ^([^/]+)/(images|folder2|folder3)(/.+)$ $2$3 [L] 
+0

謝謝,這是現在正在工作!你是天才! – Besik 2011-05-20 12:45:36

+0

@Besik謝謝!別客氣! – AndersTornkvist 2011-05-20 14:57:18

0
RewriteEngine On 
RewriteBase/

RewriteRule ^channel-name/(\d+)/?$ index.php?chID=$1 [L] 

這將在格式channel-name/chID重定向的URL帶有可選尾隨斜線給你提供的原始URL。 chID必須是1位或更多位數。

+0

感謝兩位請求你非常想爲你的答案,我已經嘗試過,但它不能正常工作,我不知道爲什麼..我已經提出這個: RewriteEngine在 RewriteBase/ RewriteRule^euronews-russia /(\ d + )/?$ world-tv-channels.php?chID = $ 1 [L] 請看看這裏 - http://www.livepage.info/euronews-russia/1512/ 再次感謝您的時間。 – Besik 2011-05-19 20:00:44

+0

P.S.有幾個頻道以名字'euronews'開頭,如 'euronews','euronews france','euronews espanol','euronews russia'等。 – Besik 2011-05-19 20:05:58

+0

您可能需要跳過'-'。試試'^ euronews \ -russia /(\ d +)/?$' – 2011-05-19 21:17:04