使用.htaccess重定向php链接

时间:2018-02-05 20:19:09

标签: php .htaccess redirect

我有一个带有视频播放器的网站,用php创建。 我已经过管理来清理www.website.com/player.php?id=10的网址 到www.website.com/player/10,其中10是给定视频的ID。

.htaccess文件的代码如下:

RewriteEngine On
RewriteRule ^player/([0-9]+)$ player.php?id=$1

如果我直接输入www.website.com/player/10,这样可以正常工作,但是,如果有人试图访问旧链接,则不会重定向。我怎么能在.htaccess文件中这样做?

1 个答案:

答案 0 :(得分:0)

重定向重写之间存在差异。

重定向向客户端发出HTTP标头,强制他们请求新位置。 重写是服务器内部的,并将请求的位置映射到另一个位置。

因此,只需将“”样式重定向到“ new ”样式并重写“ new ”样式:

# Match id in the query string and capture the id
RewriteCond %{QUERY_STRING}     ^id=(.*)$         [NC]
# Redirect the old to the new player/id
RewriteRule ^player.php$        player/%1         [NC,R=301,L]
# Rewrite the new to the old
RewriteRule ^player/([0-9]+)$   player.php?id=$1