我正在尝试使用
.htaccess
文件重定向网址。
我需要系统停留在该 api 页面上发送消息,然后在 10 秒后重定向到另一个页面。
用于使用查询参数从 url http:// …./id/ 重定向到 https://... /?id=id, 我找到了这个
RewriteEngine On
RewriteRule ^url/(.*)$ /url/?id=$1 [L]**
它工作完美,并以 $1 计算从 (.*) 传递的参数
但是我需要添加10秒的延迟,并且我没有找到任何
.htaccess
属性来添加延迟
所以我正在使用,timer.php,它增加了延迟
<html>
<head>
<meta http-equiv="REFRESH"
content="<?php echo $_GET['delay'];?>;URL=<?php echo $_GET['target'];?>"/>
</head>
<body>
<h1>You will be redirected to the new address in ten seconds....</h1>
</body>
</html>
并将 .htaccess 修改为
RewriteEngine On
RewriteRule ^url/(.*)$ timer.php?delay=10&target=url?id=$1 [L,NC]
带有延迟的重定向工作正常,但它评估 $1 到timer.php,而不是通过(.*)传递的 id,因为它在上述情况下工作。 关于如何通过 php 或直接通过 .htaccess 文件使用这种方式添加 URL 重定向延迟的任何建议?
您的重写规则中有 2 个问号。第二个(在 URL 和 ID 之间)应该是一个 & 符号
不是这个...
RewriteRule ^url/(.*)$ timer.php?delay=10&target=url?id=$1 [L,NC]
但是这个...
RewriteRule ^url/(.*)$ timer.php?delay=10&target=url&id=$1 [L,NC]