htaccess重写目录,带有可选的查询字符串

时间:2012-06-08 23:44:24

标签: .htaccess mod-rewrite

我创建了一个视频页面,该视频页面将在通过查询字符串发送的视频中显示默认视频或加载。可以通过以下任何方式访问它:

/video.php
/video.php?id=VIDEO_ID
/video.php?id=VIDEO_ID&time_offset=TIME_OFFSET

使用htaccess重写我想要有友好的网址,重写如下:

/video -> video.php
/video/VIDEO_ID -> /video.php?id=VIDEO_ID
/video/VIDEO_ID/TIME_OFFSET -> /video.php?id=VIDEO_ID&time_offset=TIME_OFFSET

例如: / video / cBPg3iof4J4 / - > /video.php?id=cBPg3iof4J4

由于用户可以a)访问视频页面,b)访问带有视频ID的视频页面,c)带有视频ID和时间偏移,我如何使用.htaccess re-来解释所有这些场景写?我试过下面的代码:

Options +FollowSymlinks
RewriteEngine on
RewriteRule ^video/$(.*) video.php?id=$1 [L]
RewriteRule ^video video.php [L]

1 个答案:

答案 0 :(得分:1)

^表示网址$的开头表示网址的结尾。

RewriteEngine on
RewriteRule ^video/?$ video.php [L]
RewriteRule ^video/(.*)/(.*)/?$ video.php?id=$1&time_offset=$2 [L]
RewriteRule ^video/(.*)/?$ video.php?id=$1 [L]