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

.htaccess 带有可选查询字符串的htaccess重写目录,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,我创建了一个视频页面,该页面将显示默认视频或加载通过querystring发送的视频。可以通过以下任何方式访问: /video.php /video.php?id=VIDEO_ID /video.php?id=VIDEO_ID&time_offset=TIME_OFFSET 使用htaccess rewrite,我希望有友好的URL将其重写如下: /video -> video.php /video/VIDEO_ID -> /video.php?id=VIDEO_ID /v

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

/video.php
/video.php?id=VIDEO_ID
/video.php?id=VIDEO_ID&time_offset=TIME_OFFSET
使用htaccess rewrite,我希望有友好的URL将其重写如下:

/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

由于用户可以使用视频id进入a)视频页面,b)视频页面,c)视频id和时间偏移,我如何使用.htaccess-re-write解释所有这些场景?我尝试了以下代码:

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

^
表示url的开始
$
表示url的结束

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