重定向 .htaccess 中的 url,添加延迟和消息

问题描述 投票:0回答:1

我正在尝试使用

.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 重定向延迟的任何建议?

php apache .htaccess redirect timedelay
1个回答
0
投票

您的重写规则中有 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]
© www.soinside.com 2019 - 2024. All rights reserved.