【问题标题】:I want to remove query string variable and replace it query value in php我想删除查询字符串变量并将其替换为 php 中的查询值
【发布时间】:2018-08-08 14:58:13
【问题描述】:
$url = example.com/your-new-key-is.php?key=5&submit=success

上面的url由查询字符串和提交值组成,也不是用户友好的

一旦我点击提交,新的网址就会变成那样

$url = example.com/your-new-key-is-5/

我想用 value(5) 替换键 url 并截断& 符号后面的部分。

有人知道答案吗?

【问题讨论】:

  • 我想你可能想看看 .htaccess

标签: php .htaccess url url-rewriting


【解决方案1】:

我认为你可以:

$url1 = example.com/your-new-key-is.php?key=5&submit=success

$url2 = example.com/your-new-key-is-5/

<?php
$url= str_replace($url1 , $url2);
?>

您可以在此处查看更多示例:function.str-replace.php

【讨论】:

  • 动态生成key值。你说的是静态方法。
【解决方案2】:

您需要使用 mod 重写。有很多方法可以编写它们。您还可以使用重写规则生成器来了解它是如何完成的。

以下是需要进入.htaccess文件的规则

# Rewrite --- example.com/your-new-key-is.php?key=5&submit=success => example.com/your-new-key-is-5/

RewriteCond %{QUERY_STRING} (^|&)key=5($|&)
RewriteCond %{QUERY_STRING} (^|&)submit=success($|&)
RewriteRule ^example\.com/your-new-key-is\.php$ /example.com/your-new-key-is-5/?&%{QUERY_STRING}

这是生成器的链接。

http://www.visiospark.com/mod-rewrite-rule-generator/

将规则写入htaccess后,输入example.com/your-new-key-is-5/,相当于example.com/your-new-key-is.php?key=5&amp;submit=success

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-08
  • 1970-01-01
  • 2011-07-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多