.htaccess:如何保持URL相同,但在服务器上显示不同的页面

时间:2012-11-24 19:29:09

标签: php linux apache .htaccess nginx

如何保持URL相同,但使用.htaccess重写规则在服务器上显示不同的页面? 我正致力于热链接保护。使用以下链接生成播放列表:http://site.com/get.playlist.php?

完整链接:

http://site-1.com/get.playlist.php?playlist=http://site.com/video/34141ce7760f58f0c3eb5e0c758afb69/pl/playlist.txt&hash=34141ce7760f58f0c3eb5e0c758afb69

我想从

重定向链接
http://site-2.com/video/34141ce7760f58f0c3eb5e0c758afb69/pl/playlist.txt

http://site-1.com/get.playlist.php?playlist=http://site.com/video/34141ce7760f58f0c3eb5e0c758afb69/pl/playlist.txt&hash=34141ce7760f58f0c3eb5e0c758afb69

1 个答案:

答案 0 :(得分:2)

这就像是:

 RewriteRule ^video/(\w+)/(\w+)/(\w+)$ http://site-1.com/get.playlist.php?playlist=http://site.com/video/$1/$2/$3&hash=$1

虽然这可能会导致网址无效,但您需要在查询字符串中对:/等字符进行网址编码。

另一个问题是重定向是针对不同的域,因此网址可能会在浏览器地址栏中发生变化。

它是否真的位于不同的域名上,因为你的问题标题似乎暗示不是吗?

如果没有,您可以将其更改为:

 RewriteRule ^video/(\w+)/(\w+)/(\w+)$ /get.playlist.php?playlist=http://site.com/video/$1/$2/$3&hash=$1