url重定向使用.htaccess

问题描述:

我需要你的帮助,使用.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

任何建议将不胜感激!谢谢!

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

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

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