【问题标题】:.htaccess Doesn't Work for The Second Variable.htaccess 不适用于第二个变量
【发布时间】:2019-09-08 01:04:01
【问题描述】:

对不起,我不太擅长 Htaccess 和 PHP

我尝试重定向 php 参数,它工作正常。

然后我尝试在 htaccess 中重写 URL,但只有第一个变量有效。

这是我的 PHP(工作正常):

$mobile  = $_GET['p'];
$text  = $_GET['t'];
header("Location: https://api.whatsapp.com/send?phone=".$mobile."&text=".$text);

网址:https://example.com/?p=60199788474&t=hai

然后是我的 htaccess:

RewriteEngine on
RewriteRule ^([0-9]+)\/?$ index.php?p=$1&t=$2 [NC]

如果我访问:https://example.com/60191111111 那么它将正确重定向。

但是当我访问https://example.com/60191111111/text

那就不行了

谢谢。

【问题讨论】:

标签: php .htaccess


【解决方案1】:

你需要一个正则表达式模式,它可以匹配一个包含两个段的 URI,目前你的规则只匹配一个

RewriteEngine on
RewriteRule ^([0-9]+)/(.+)/?$ index.php?p=$1&t=$2 [NC]

【讨论】:

  • 谢谢@starkeen。是工作。现在我想知道如何使第二个变量成为可选的。例如:example.com/60191111111,它只会重定向到第一个变量,如果用户输入 example.com/6019111111/hai,它也可以工作。
  • @SyafiqZainal 要使其可选,您可以使用^([0-9]+)/?(.*)/?$
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-12-02
  • 1970-01-01
  • 2019-01-25
  • 2017-01-07
  • 1970-01-01
  • 2013-01-09
  • 2015-08-25
相关资源
最近更新 更多