我正在尝试在NGINX
和.htaccess
中重写规则。现在,我有一个链接http://project2.local/recordings
可以像这样访问,但它有一个optional
参数camera
。所以你也可以像这样访问链接:http://project2.local/recordings/camera/1
,现在它还有另一种选择。如果你去http://project2.local/recordings/20180118-110222
(其中20180118-110222
是一个查询字符串),你需要“链接”到另一个.php文件,所以我可以在分离的文件中运行php脚本。但我不清楚我应该怎么做...我目前有这个用于nginx:
location /camera {
rewrite ^/camera/([^/]*)$ /camera.php?camera_id=$1 last;
}
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /camera\.php\?camera_id=([^\&\s]+)
RewriteRule ^/?camera\.php$ /camera/%1? [L,R=301]
RewriteRule ^camera/([^/]*)$ /camera.php?camera_id=$1 [L]
现在这是另一个页面,但我怎么能为页面recordings
做这个?
它需要有或no parameter
,或one parameter
(并留在当前文件)或/camera/parameter
,它链接到另一个.php文件
您可以将这些规则用于不同的模式:
RewriteRule ^recordings/?$ recordings.php [L,NC]
RewriteRule ^recordings/camera/(\d+)?$ recordings.php?camera_id=$1 [L,NC,QSA]
RewriteRule ^recordings/(\d+-\d+))?$ another.php?param=$1 [L,NC,QSA]